Envío de correos electrónicos usando AWS, SES y SmartFlows

Para enviar correos electrónicos desde Lambda usando Amazon SES, necesitará lo siguiente:

Nota: El ejemplo del Código de Función Lambda en Node.js es proporcionado “tal cual es”. Adapte el ejemplo a su caso de uso o diseñe uno propio en su lenguaje de programación preferido.

¿Cómo?

Crear una función AWS Lambda

  1. Abra la Consola de AWS Lambda.
  2. Seleccione Create a function (Crear una Función).
  3. Para el Nombre de la Función, ingrese my-email-function (función mi correo electrónico).
  4. Seleccione Create a function (Crear una Función).
  5. Pegue el siguiente texto en el editor de Código:
var aws = require('aws-sdk'); 
var ses = new aws.SES({region: 'us-east-1'});

exports.handler = (event, context, callback) => {

     var params = { 
        Destination: { 
            ToAddresses: [event.toEmailAddress] 
        }, 
        Message: { 
            Body: { 
                Text: { Data: event.body} 
            },

            Subject: { Data: event.subject} 
        }, 
        Source: event.fromEmailAddress 
     };


      ses.sendEmail(params, function (err, data) { 
         callback(null, {err: err, data: data}); 
         if (err) { 
             console.log(err); 
       } 
    }); 
};

Añada un Activador API

  1. Seleccione Añadir Activador.

  1. Seleccione API Gateway (Gateway API) desde el Menú Desplegable.

 

  1. Seleccione Create a New API (Crear nueva API) desde el Menú Desplegable API.

 

  1. Seleccione la Plantilla API REST.

 

  1. Clic en AÑADIR.

Cree una política IAM (Gestión de Identidad y Acceso) y un rol de ejecución

  1. Abra la Consola de Gestión IAM.
  2. Seleccione Policies (Políticas) a la izquierda de la ventana de navegación.

  1. Clic en Create Policy (Crear Política).
  2. Seleccione JSON Tab.

5.  Pegue este documento de política JSON en el editor de políticas:

{
   "Version": "2012-10-17",
   "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "ses:SendEmail",
               "ses:SendRawEmail"
           ],
           "Resource": "*"
       }
   ]
}
  1. Clic en Review Policy (Revisar Política).

 

  1. Para el nombre de la política, ingrese my-email-policy (política de mi correo electrónico) y clic en Create Policy (Crear Política).

 

  1. Seleccione Roles a la izquierda de la ventana de navegación.

 

  1. Clic en Create Role (Crear Rol).

 

  1. Seleccione AWS Services (Servicios AWS) para Type of Trusted Entity (Tipo de Entidad de Confianza) y Lambda para Use Case (Caso de Uso). Clic en Next: Permissions (Siguiente: Permisos).

 

  1.  Seleccione my-email-policy (política de mi correo electrónico) y clic en Next (Siguiente): Tags.

 

  1. Añada los tags de su preferencia y clic en Next (Siguiente): Review (Revisión).

 

  1.  Coloque un nombre a su rol y clic en Create Role (Crear Rol).

 

  1.  Navegue hacia su función lambda.

 

  1.  Bajo Execution Role (Rol de Ejecución), seleccione Use an existing role (Usar un rol existente) y el rol que acaba de crear.

Actualice su SmartFlow

  1. Añada una acción External Web Call (Llamada Web Externa) a su flujo.
  2. Configure la acción de la siguiente manera:

MÉTODO: POST

URL DEL SERVICIO: Url creada en Gateway API.

TIPO DE CONTENIDO: application/json

BODY:


{
 "toEmailAddress": "Enter the email address of the recipient",
 "fromEmailAddress": " A verified Amazon SES identity (domain or email address).",
 "subject": "My test email subject",
 "text": "Hello from SmartFlows"
}

Ya puede activar su flujo. Se generará un correo electrónico.