Recibo un error al ejecutar el código de amazon ses en el siguiente js. no sé dónde estoy equivocado, por favor intente corregir mi error. Si tiene alguna pregunta, no dude en preguntar.
enviarcorreo.js
Este es el archivo sendmail.js donde obtuve el error. aquí estoy usando amazon ses para enviar correo.
var AWS = require('aws-sdk'); AWS.config.update({ region: process.env.AWS_REGION }); // var mail = ''; function sendMail(Email) { var result; // Create sendEmail params var params = { Destination: { /* required */ CcAddresses: [ Email, /* more items */ ], ToAddresses: [ Email, /* more items */ ] }, Message: { /* required */ Body: { /* required */ Html: { Charset: "UTF-8", Data: "HTML_FORMAT_BODY" }, Text: { Charset: "UTF-8", Data: "TEXT_FORMAT_BODY" } }, Subject: { Charset: 'UTF-8', Data: 'Test email' } }, Source: 'abc@gmail.com', /* required */ ReplyToAddresses: [ 'abc12@gmail.com', /* more items */ ], }; // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: '2010-12-01' }).sendEmail(params).promise(); // Handle promise's fulfilled/rejected states sendPromise.then( function (data) { result = 'Success'; }).catch( function (err) { result = 'Failed'; }); } export default sendMail;iddinamico.js
Este es el archivo de identificación dinámica .js donde escribí mi código de punto final
import { getDataFromSheets } from '../../../libs/sheets'; import sendmail from '../../../libs/ses/sendmail'; export default function handler(req, res) { var data; getDataFromSheets() .then(sheet => { data = sheet.length for (var i = 1; i < data; i++) { sendmail(sheet[i].Email) } }) .catch(err => console.log(err)) }Cada función de punto final debe finalizar el ciclo de solicitud y respuesta enviando una respuesta ( res.send() , res.json() , res.end() , etc.). Entonces la solución sería:
export default function handler(req, res) { var data; getDataFromSheets() .then(sheet => { data = sheet.length for (var i = 1; i < data; i++) { sendmail(sheet[i].Email) } res.json({status: 'success', message: 'email has been sent'}) }) .catch(err => { console.log(err) res.json({status: 'fail', error: err}) }) }