Estoy intentando configurar AWS SES con la ayuda de nodemailer.
Así que estoy siguiendo la documentación .
Este es el código que me proporcionaron y que probé:
let nodemailer = require("nodemailer"); let aws = require("@aws-sdk/client-ses"); const ses = new aws.SES({ apiVersion: "2010-12-01", region: "us-west-2", }); // create Nodemailer SES transporter let transporter = nodemailer.createTransport({ SES: { ses, aws }, }); // send some mail transporter.sendMail( { // These are obviously not the actual emails I am using from: "configured_aws_email", to: "recipient_email", subject: "Message", text: "I hope this message gets sent!", ses: { // optional extra arguments for SendRawEmail Tags: [ { Name: "tag_name", Value: "tag_value", }, ], }, }, (err, info) => { console.log( "🚀 ~ file: transactional-email-confiig.js ~ line 36 ~ err", err ); console.log( "🚀 ~ file: transactional-email-confiig.js ~ line 41 ~ info.envelope", info.envelope ); console.log( "🚀 ~ file: transactional-email-confiig.js ~ line 43 ~ info.messageId", info.messageId ); } );Estas son las versiones del paquete requerido que instalé:
paquete.json
"@aws-sdk/client-ses": "^3.40.0", "aws-sdk": "^2.1026.0",Configuré las claves de AWS en el archivo .env:
.env
AWS_ACCESS_KEY_ID=*************** AWS_SECRET_ACCESS_KEY=*************Esta es la versión del nodo:
nodo -v
v15.8.0 Y la dirección de correo electrónico de AWS SES que estoy usando está verificada:

Pero, sigo recibiendo este error:
node_modules/nodemailer/lib/ses-transport/index.js:242 this.ses.sendRawEmail(sesMessage, (err, data) => { ^ TypeError: this.ses.sendRawEmail is not a functionParece que la interfaz @aws-sdk/client-ses no tiene el método sendRawEmail .
Intente instalar el paquete aws-sdk anterior:
npm i aws-sdk
Y úsalo en su lugar
const nodemailer = require("nodemailer"); const aws = require("aws-sdk"); const ses = new aws.SES({ apiVersion: "2010-12-01", region: "us-west-2", }); // create Nodemailer SES transporter const transporter = nodemailer.createTransport({ SES: { ses, aws }, });