简单几行代码,实现Node.js程序发邮件。_第1张图片

引言

本文将通过一个Nodejs的模块Nodemailer介绍如何在nodejs程序中发邮件。

Nodemailer是Node.js应用程序的一个三方模块,可以轻松实现电子邮件的发送,在大多数时候,它已经成为Node.js中开发邮件客户端的首选方案了。

安装

nodemailer的安装非常简单,一句话足以

npm install nodemailer

邮箱设置163为例)

在本篇中我将以163邮箱为例,因为我觉得它的设置相对简单,所以我们先简单设置下我们的邮箱,不然后续操作无法进行

  • 登录邮箱,进入账户管理,找不到入口的可以看看我的截图

简单几行代码,实现Node.js程序发邮件。_第2张图片

  • POP3/SMTP/IMAP设置

简单几行代码,实现Node.js程序发邮件。_第3张图片

  • 授权码设置(因为我们相当于第三方客户端,因此需要授权码,其他邮箱类似)

简单几行代码,实现Node.js程序发邮件。_第4张图片

  • 记下设置的授权码,我们后面将要用到

完整的实例

我们新建一个nodejs的项目,我为了方便演示就简单写了一个js文件,文件名称自己定义,下面是完整的代码

简单几行代码,实现Node.js程序发邮件。_第5张图片

主要部分的代码

//配置一些参数
let transporter = nodemailer.createTransport({
host: "smtp.163.com",
secureConnection: true, // 使用SSL
port: 465,// true 端口为 465, false则为其它端口
secure: true,
auth: {
user: '你的163邮箱地址', // 使用的发送方邮箱
pass: '刚刚设置的授权码' // 使用的发送方邮箱授权码
}
});
 // 发送带有已定义传输对象的邮件
let info = await transporter.sendMail({
from: '"发送方名称" <你的邮箱地址>', // 发送方名称和地址
to: "接收方邮件", // 多个接收方邮件,用逗号隔开
subject: "测试主题", // 主题
text: "测试内容", // 纯文本正文
html: "

Hello world?

" // html内容
});

然后我们运行一下我们的代码

简单几行代码,实现Node.js程序发邮件。_第6张图片

已经发送成功,值得注意的是如果html不为空,则发送的内容就是html,text就会失效。

总结

nodemailer的功能远不止于此,像授权、附件这些都是支持的,如果你希望能够开发一套自己的邮箱客户端,或者有这方面项目需求,可以参照官网文档,里面介绍了很多没提及到的功能配置,如果涉及到项目保密,那么可以用JShaman平台对JS代码进行混淆加密(NodeJS编程用的是JS,是标准的JS就可以用JShaman进行代码保护)。

本文主要是说明用代码实现邮件发送,以及需要怎么样设置邮箱。希望对你有所帮助。