9

我正在使用 Nodemailer Node.js 模块与 sendmail 交互。但是,当通过 Gmail 帐户访问时,我的电子邮件会直接进入垃圾邮件文件夹。为什么我的电子邮件是垃圾邮件?它一定与电子邮件的标题有关,但我不知道它可能是什么。

我不太熟悉电子邮件和垃圾邮件过滤器寻找什么,所以有人可以向我提供一些有关注意事项的详细信息吗?

谢谢阅读。:)

4

4 回答 4

1

这里有几个原因: http: //www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

还有IP地址的黑名单。来自这些的任何内容都将被忽略或视为垃圾邮件。如果您的电子邮件是从似乎没有链接到发件人地址的服务器发送的,那么您也会遇到潜在的问题。

检测垃圾邮件并尽量不被视为垃圾邮件都是非常重要的事情。这就是为什么很多邮件列表都是通过专业提供商完成的。

于 2013-07-03T23:42:55.347 回答
1

我遇到了同样的问题,并且能够通过将“来自”字段更新为这种格式来解决它:

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) => {
    ...
});
于 2021-12-02T22:31:47.407 回答
0

如果您的 IP 被列入黑名单,您将需要使用第三方电子邮件服务,例如:

检查他们的文档以与您的应用程序集成。

于 2018-04-17T05:34:33.423 回答
0

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'
        })
    }
})
于 2018-04-17T04:35:18.413 回答