我正在使用Nodemailer Node.js模块来连接sendmail。然而,当Gmail帐户到达我的邮件时,我的邮件直接进入了垃圾邮件文件夹。为什么我的邮件会被屏蔽?这肯定与邮件的标题有关,但我不知道这可能是什么。我不是很熟悉电子邮件和垃圾邮件过滤器寻找什么,所以有人可以请提供我一些细节,什么要注意?谢谢你的阅读。:)
gstyhher1#
我也遇到过同样的问题,并能够通过将"from"字段更新为以下格式来解决:
from: 'Sender Name <some-random-email@gmail.com>'
完整代码:
let transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, secure: false, requireTLS: true, auth: { user: 'some-random-email@gmail.com', pass: 'pass' }, from: 'some-random-email@gmail.com' }); const mailOptions = { from: 'Sender Name <some-random-email@gmail.com>' to: 'some-new-random-email@gmail.com', subject: 'Subject', text: 'Text' }; return transporter.sendMail(mailOptions, (error, info) => { ... });
lkaoscv72#
以下是几个原因:(2010年)也有ip地址黑名单,任何来自这些地址的邮件都会被忽略或被视为垃圾邮件,如果你的邮件是从一个服务器发送的,而这个服务器似乎没有链接到发件人地址,你也会有潜在的问题。检测垃圾邮件和不被视为垃圾邮件都是非常重要的事情,这就是为什么很多邮件列表都是通过专业提供商完成的。
ekqde3dh3#
如果您的IP被列入黑名单,您将需要使用第三方电子邮件服务,如:
查看他们的文档以与您的应用程序集成。
9jyewag04#
data/mail.private-更改为Open DKIM私钥文件所在的位置。
var client = require('nodemailer').createTransport({ secure: false, pool: true, host: 'yourdomain.io', port: app.nconf.get('mail:port'), auth: { user: app.nconf.get('mail:user'), pass: app.nconf.get('mail:pass') }, dkim: { domainName: 'yourdomain.io', keySelector: 'mail', privateKey: require('fs').readFileSync('data/mail.private', { encoding: 'utf8' }) } })
4条答案
按热度按时间gstyhher1#
我也遇到过同样的问题,并能够通过将"from"字段更新为以下格式来解决:
完整代码:
lkaoscv72#
以下是几个原因:(2010年)
也有ip地址黑名单,任何来自这些地址的邮件都会被忽略或被视为垃圾邮件,如果你的邮件是从一个服务器发送的,而这个服务器似乎没有链接到发件人地址,你也会有潜在的问题。
检测垃圾邮件和不被视为垃圾邮件都是非常重要的事情,这就是为什么很多邮件列表都是通过专业提供商完成的。
ekqde3dh3#
如果您的IP被列入黑名单,您将需要使用第三方电子邮件服务,如:
查看他们的文档以与您的应用程序集成。
9jyewag04#
data/mail.private-更改为Open DKIM私钥文件所在的位置。