我正在构建一个发送电子邮件的通知服务器。
我正在使用节点邮件程序库,但是当我尝试发送电子邮件时,大约需要5分钟才能收到收件箱中的内容
我已经搜索了发生这种情况的原因,而我发现的唯一答案就是响应内容,以告知浏览器请求已完成。可能是这样的:res.send(xxx)。
但是我正在使用套接字自动发送电子邮件,我需要改进我的服务器吗?我的代码:
var transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
user: '...',
pass: '...'
}
});
...
io.on('connection', function(socket){
socket.on('notify', function(object) {
var mailOptions = {
from: '...',
to: object.message.sendTo,
subject: object.message.subject,
html: object.template
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
socket.emit("error", {data : "Error!"})
} else {
socket.emit("sent", {data : "Email successfully sent!"})
}
});
});
});
我需要更改我的代码吗?
答案 0 :(得分:0)
在收到电子邮件标题时,请检查它们,以查明电子邮件“卡住”的位置。它可能在原始服务器中,但可能更远(例如,垃圾邮件过滤器或转发器,或者只是中间的某个服务器)。如果除了第一跳以外的任何地方,那么您在代码中可能就无能为力地加快速度。