/* Copyright 2016 The Cocktail Experience, S.L. */ var AWS = require('aws-sdk'); var ses = new AWS.SES({apiVersion: '2010-12-01'}); var conf = require('./conf'); var utils = require('./utils');

exports.handler = function(event, context) {

console.log('Received event:', JSON.stringify(event, null, 2));
var data = event.body;

if (!data.domain) { context.fail('domain: empty'); return; }

var domain = conf.domains[data.domain];

if (!domain) { context.fail('domain: not found'); return; }

console.log(domain.emailAddress);

if (!data.email) { context.fail('email: empty'); return; }
if (!data.message || data.message === '') { context.fail('message: empty'); return; }

var email = unescape(data.email);
if (!utils.validateEmail(email)) { context.fail('email: format'); return; }

var messageParts = [];

if (data.name) messageParts.push("Name: " + data.name);
if (data.company) messageParts.push("Company: " + data.company);
if (data.phone) messageParts.push("Phone: " + data.phone);
messageParts.push("Email: " + data.email);
messageParts.push("\r\n" + data.message);

var params = {
  Destination: {
    ToAddresses: [ domain.emailAddress ],
    BccAddresses: [ "fernando.gs@gmail.com" ]
  },
  Message: {
    Body: { Text: { Data: messageParts.join("\r\n"), Charset: 'UTF-8' } },
    Subject: { Data: domain.emailSubject, Charset: 'UTF-8' }
  },
  Source: domain.emailAddress,
  ReplyToAddresses: [ email ]
};

if ((data.cc) && (data.cc == "1")) {
  params.Destination.CcAddresses = [ data.email ];
}

ses.sendEmail(params, function(err, data) {
  if (err) {
    console.log(err, err.stack);
    context.fail(err);
  } else {
    console.log(data);
    context.succeed(0);
  }
});

};