我已经使用gmail帐户设置了SMTP服务器。几天前工作正常。当我检查日志时,我在下面的条目中找到了它:
SMTP Error: 454 4.7.0 Too many login attempts, please try again later.
我已经重启了两次SMTP服务。我已检查使用this链接设置的配置。一切都和我们设置的一样。我重新启动了SMTP服务器&机器也是。
我已检查过两步验证设置。它未启用。我已检查“安全性较低”的应用设置,并按照建议here设置为已启用。
我已根据建议here使用以下链接检查了启用的应用。
https://security.google.com/settings/security/permissions?pli=1
但没有添加任何应用。任何人都可以提出我需要寻找的任何建议吗?提前谢谢。
答案 0 :(得分:3)
这是因为您试图为每个电子邮件创建一个新的smtp连接。您需要使用SMTP池。
请参阅:
当您有大量要分批发送的消息,或者提供者只允许使用少量并行连接时,池化的smtp最有用。
如果您正在使用Node-mailer:
const transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
pool: true, // This is the field you need to add
auth: {
user: 'test@test.com',
pass: 'your_password'
}});
然后,发送所有电子邮件后,您需要关闭池。
transporter.close();
答案 1 :(得分:1)
请按照以下说明操作:
从浏览器打开Gmail,只登录您的帐户 试图添加。请务必退出所有其他帐户
转到此链接:https://accounts.google.com/b/0/displayunlockcaptcha然后点击 继续或确认。
现在测试你的程序它会正常工作
答案 2 :(得分:1)
我有同样的问题。当我检查邮件队列时,队列中有许多未处理的邮件。 因此,我删除了批量邮件并重新启动了实例。清除邮件队列后,便开始照常发送邮件。
希望这对任何有上述问题的人都是有用的。
答案 3 :(得分:0)
在SMTP服务器的出站连接设置中,TCP端口从25更改为587,解决了问题。
答案 4 :(得分:0)
已解决问题,更改了密码邮件服务器密码