AWS简单电子邮件服务在sendRawEmail处挂起

时间:2018-04-05 10:08:35

标签: node.js amazon-web-services aws-lambda amazon-ses

我在下面写了nodejs函数来使用AWS SES发送电子邮件。 相同的代码成功发送了几次电子邮件,但在代码挂起ses.sendRawEmail之后,我尝试增加超时和内存分配,但仍然让我的任务在60.01秒后超时

function sendMail( statusJSON){

    var aws     = require('aws-sdk');

// Edit this with YOUR email address.
var fromEmail   = "xxxxxx";
var toEmail   = "xxxxxx";   

// Instantiate SES.
var ses = new aws.SES();
var ses_mail = "From: 'Service Monitor' <" + fromEmail + ">\n";
ses_mail = ses_mail + "To: " + toEmail + "\n";
ses_mail = ses_mail + "Subject: service status: RED\n";
ses_mail = ses_mail + "MIME-Version: 1.0\n";
ses_mail = ses_mail + "Content-Type: multipart/mixed; boundary=\"NextPart\"\n\n";
ses_mail = ses_mail + "--NextPart\n";
ses_mail = ses_mail + "Content-Type: text/html; charset=us-ascii\n\n";
ses_mail = ses_mail + JSON.stringify(statusJSON) +".\n\n";
ses_mail = ses_mail + "--NextPart\n";
ses_mail = ses_mail + "Content-Type: text/plain;\n";
ses_mail = ses_mail + "Content-Disposition: attachment; filename=\"statusJSON.txt\"\n\n";
ses_mail = ses_mail + JSON.stringify(statusJSON) + "\n\n";
ses_mail = ses_mail + "--NextPart--";

var params = {
    RawMessage: { Data: new Buffer(ses_mail) },
    Destinations: [ toEmail ],
    Source: "'Herald Service Monitor' <" + fromEmail + ">'"
};
ses.sendRawEmail(params, function(err, data) {
    if(err) {
        console.log(err);
    } 
    else {
        console.log(data);
    }           
});

请分享您的想法

0 个答案:

没有答案