错误:421使用带附件的快递邮件等待来自客户端的数据超时

时间:2016-11-30 09:54:20

标签: node.js email express amazon-ses

我使用express-mailer(建立在nodemailer之上)来发送来自我的nodejs应用的电子邮件。如果我发送一个简单的HTML电子邮件,它可以正常工作,但如果我尝试附加文件,我会得到Error: 421 Timeout waiting for data from client

请注意,当我使用Amazon SES作为smtp服务器时,该错误才会显示。如果我使用其他电子邮件服务器,则会发送电子邮件。我试图谷歌问题,我没有找到答案。有人能帮助我吗?

这是我的代码:

var mailer = require('express-mailer');
mailer.extend(app, {
    from: 'No Reply <no-reply@no-reply.com>',
    host: 'email-smtp.us-east-1.amazonaws.com',
    secureConnection: false,
    port: 587,
    transportMethod: 'SMTP',
    auth: {
        user: 'user',
        pass: 'password'
    }
});

var mailConfig = {
    to: 'me@email.com',
    subject: 'email_subject',
    data: {
        name: 'name'
    }
};

var sendOptions = {
    template: 'emailTemplate',
    attachments: [{
        fileName: 'attachment.pdf', filePath: 'data/attachment.pdf'}
    }]
};

app.mailer.send(sendOptions, mailConfig, function (err) 
{
    if (err)
        console.log(err + '\n' + __filename + ' ' + __functionName + ' ' + __lineNumber);
});

1 个答案:

答案 0 :(得分:0)

没关系。我只需将port更改为465,将secureConnection更改为true