批量电子邮件发送使用node.js

我试图做一个小的仪表板,我可以使用我自己的SMTP服务器发送批量电子邮件。 我想为此使用节点,任何人都可以指导从哪里开始我想从不同的SMTP服务器发送邮件。

在Node中发送电子邮件的最常用方式是使用Nodemailer 。 它有一个很好的文档。

您可以使用它来使用任何SMTP服务器发送电子邮件,并且有很多预configuration的方式可以使用Gmail或其他专门的传输方式发送。

可用的传输是 – 自述文件:

  • nodemailer-mailgun-transport用于通过Mailgun的Web API发送消息
  • nodemailer-mandrill-transport通过Mandrill的Web API发送消息
  • nodemailer-pickup – 传输将消息存储到拾取文件夹
  • nodemailer-sailthru-transport通过Sailthru的Web API发送消息
  • nodemailer-sendgrid-transport通过SendGrid的Web API发送消息
  • nodemailer-sendmail-transport将消息传送到sendmail命令
  • nodemailer-ses-transport将消息发送到AWS SES
  • nodemailer-sparkpost-transport通过SparkPost的Web API发送消息
  • nodemailer-stub-transport仅用于返回消息,最可能用于testing目的
  • nodemailer-众所周知的通过那些许多支持的服务之一发送消息
  • nodemailer-postmark-transport通过Postmark的Web API发送消息
  • 添加你的(见这里的传输API文档)

以下是Nodemailer GitHub仓库中的一个简单用法示例

var nodemailer = require('nodemailer'); // create reusable transporter object using the default SMTP transport var transporter = nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com'); // setup e-mail data with unicode symbols var mailOptions = { from: '"Fred Foo 👥" <foo@blurdybloop.com>', // sender address to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers subject: 'Hello ✔', // Subject line text: 'Hello world 🐴', // plaintext body html: '<b>Hello world 🐴</b>' // html body }; // send mail with defined transport object transporter.sendMail(mailOptions, function(error, info){ if(error){ return console.log(error); } console.log('Message sent: ' + info.response); }); 

看到:

对于批量邮件来说,使用Mailgun或Mandrill这样的服务要好得多,因为使用SMTP进行批量邮件发送是非常麻烦的,以确保您的电子邮件正在通过垃圾邮件filter,并且您没有因为发送太多的电子邮件而被列入黑名单,你不会超过你的ISP等任何限制。发送电子邮件比人们通常想象的要复杂得多,并且在Mailgun中每封邮件的价格是0.0001美元,这也是很便宜的。