我使用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);
});
答案 0 :(得分:0)
没关系。我只需将port
更改为465
,将secureConnection
更改为true
。