【发布时间】:2020-04-02 01:55:39
【问题描述】:
我正在构建一个发送电子邮件的通知服务器。
我正在使用节点邮件程序库,但是当我尝试发送电子邮件时,我需要将近 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!"})
}
});
});
});
我需要对我的代码进行哪些更改?
【问题讨论】:
-
发送电子邮件需要 5 分钟,还是需要您在收件箱中接收?您是否将其发送到您的 gmail 收件箱?
-
我的收件箱需要 5 分钟才能收到
-
你考虑过延迟其实是你自己的邮箱提供商?
标签: node.js socket.io nodemailer