NodeJS 防止垃圾邮件;使用节点邮件程序使用Sendmail

unftdfkk  于 2023-02-12  发布在  Node.js
关注(0)|答案(4)|浏览(219)

我正在使用Nodemailer Node.js模块来连接sendmail。然而,当Gmail帐户到达我的邮件时,我的邮件直接进入了垃圾邮件文件夹。为什么我的邮件会被屏蔽?这肯定与邮件的标题有关,但我不知道这可能是什么。
我不是很熟悉电子邮件和垃圾邮件过滤器寻找什么,所以有人可以请提供我一些细节,什么要注意?
谢谢你的阅读。:)

gstyhher

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) => {
    ...
});
lkaoscv7

lkaoscv72#

以下是几个原因:(2010年)
也有ip地址黑名单,任何来自这些地址的邮件都会被忽略或被视为垃圾邮件,如果你的邮件是从一个服务器发送的,而这个服务器似乎没有链接到发件人地址,你也会有潜在的问题。
检测垃圾邮件和不被视为垃圾邮件都是非常重要的事情,这就是为什么很多邮件列表都是通过专业提供商完成的。

ekqde3dh

ekqde3dh3#

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

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

9jyewag0

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'
        })
    }
})

相关问题