Úselo SendRawEmail con un AWS SDK o CLI - Amazon Simple Email Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Úselo SendRawEmail con un AWS SDK o CLI

En los siguientes ejemplos de código, se muestra cómo utilizar SendRawEmail.

CLI
AWS CLI

Para enviar un correo electrónico sin procesar con Amazon SES

En el siguiente ejemplo, se utiliza el comando send-raw-email para enviar un correo electrónico con un TXT adjunto:

aws ses send-raw-email --raw-message file://message.json

Salida:

{ "MessageId": "EXAMPLEf3f73d99b-c63fb06f-d263-41f8-a0fb-d0dc67d56c07-000000" }

El mensaje sin procesar es una estructura de datos JSON guardada en un archivo denominado message.json en el directorio actual. Contiene lo siguiente:

{ "Data": "From: sender@example.com\nTo: recipient@example.com\nSubject: Test email sent using the AWS CLI (contains an attachment)\nMIME-Version: 1.0\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\n\n--NextPart\nContent-Type: text/plain\n\nThis is the message body.\n\n--NextPart\nContent-Type: text/plain;\nContent-Disposition: attachment; filename=\"attachment.txt\"\n\nThis is the text in the attachment.\n\n--NextPart--" }

Como puede ver, “Datos” es una cadena larga que contiene todo el contenido sin procesar del correo electrónico en formato MIME, incluido un archivo adjunto llamado attachment.txt.

Sustituya sender@example.com y recipient@example.com por las direcciones que desee utilizar. Tenga en cuenta que la dirección de correo electrónico del remitente se debe verificar con Amazon SES. Hasta que se le conceda el acceso de producción a Amazon SES, también debe verificar la dirección de correo electrónico del destinatario, a menos que el destinatario sea el simulador de bandeja de correo de Amazon SES. Para obtener más información sobre la verificación, consulte Verificación de direcciones de correo electrónico y dominios en Amazon SES en la Guía para desarrolladores de Amazon Simple Email Service.

El identificador del mensaje en el resultado indica que la llamada a send-raw-email se realizó correctamente.

Si no recibe el correo electrónico, marque la casilla de correo no deseado.

Para obtener más información sobre el envío de correo electrónico sin procesar, consulte Envío de correo electrónico sin procesar con la API de Amazon SES en la Guía para desarrolladores de Amazon Simple Email Service.

  • Para obtener más información sobre la API, consulte SendRawEmailla Referencia de AWS CLI comandos.

JavaScript
SDK para JavaScript (v3)
nota

Hay más información. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

Utilice nodemailer para enviar un correo electrónico con un archivo adjunto.

import sesClientModule from "@aws-sdk/client-ses"; /** * nodemailer wraps the SES SDK and calls SendRawEmail. Use this for more advanced * functionality like adding attachments to your email. * * https://nodemailer.com/transports/ses/ */ import nodemailer from "nodemailer"; /** * @param {string} from An Amazon SES verified email address. * @param {*} to An Amazon SES verified email address. */ export const sendEmailWithAttachments = ( from = "from@example.com", to = "to@example.com", ) => { const ses = new sesClientModule.SESClient({}); const transporter = nodemailer.createTransport({ SES: { ses, aws: sesClientModule }, }); return new Promise((resolve, reject) => { transporter.sendMail( { from, to, subject: "Hello World", text: "Greetings from Amazon SES!", attachments: [{ content: "Hello World!", filename: "hello.txt" }], }, (err, info) => { if (err) { reject(err); } else { resolve(info); } }, ); }); };
  • Para obtener más información sobre la API, consulta SendRawEmailla Referencia AWS SDK for JavaScript de la API.

Para obtener una lista completa de guías para desarrolladores del AWS SDK y ejemplos de código, consulteUso de Amazon SES con un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.