SENDMAIL
我在 Ubuntu 上使用时遇到问题。
所有电子邮件都会进入垃圾邮件文件夹。我正在使用 NodeJS 和 Nodemailer 模块。
我的代码:
var transporter = nodemailer.createTransport({
sendmail: true,
newline: 'unix',
path: '/usr/sbin/sendmail'
});
transporter.sendMail({
from: "[email protected]",
to: "[email protected]",
subject: "test",
html: "test"
});
答案1
如果您使用 Gmail 地址发送邮件,但未使用正确的身份验证通过 Gmail 邮件系统发送邮件,则许多邮件服务器将认为您的邮件是欺骗尝试。从程序发送邮件的最佳实践:
- 仅使用您实际控制的发件人地址。
- 仅从正确配置的邮件服务器(静态 IP、正确的正向和反向 DNS)发送或使用智能主机。
否则,您的邮件与通过被黑客入侵的服务器使用虚假发件人地址发送的典型垃圾邮件没有什么区别,并且您不应该对它们被归类为垃圾邮件感到惊讶。
答案2
使用 SMTP 授权。 (并检查 Gmail 设置 - 应允许 SMTP)
sendmail
如果您通过 gmail 地址发送- 那么信件将从本地主机发送 -> 收件人邮件服务器正在检查 DKIM 和 SPF:失败,失败。 -> 所以这封信 100% 属于垃圾邮件。
如果您通过 SMTP 发送 - 您将通过登录名和密码进行授权。这封信是从真正的 Gmail 服务器发送的。
第二种方法比较困难。配置 SPF 和 DKIM 记录(使您的“本地主机”成为 gmail 的合法发件人)