Nodejs 发送邮件 示例
前端使用nodejs发送邮件是一款不错的选择,当然需要配置node环境 —— nodejs 环境搭建及基本配置 ;在项目中,需要将数据发送到某个第三方平台的邮箱中,单单使用 javascript 是不能很好的适应我们的需求;但 javascript 可以通过 mailto 来发送邮件,只是它需要本地的支持,另一种通过 javascript 发送邮件的方式是只用于 ie浏览器,其它浏览器都不支持;下面是自己使用总结的发送邮件示例及可能出现的问题:
一、nodejs 发送邮件 —— 准备工作
-
在 node 环境下安装 nodemailer
npm i nodemailer --save -
在邮箱控制文件中引入;
var nodemailer = require('nodemailer')
二、nodejs 发送邮件 —— QQ邮箱
-
确认将要使用的 QQ邮箱 IMAP/SMTP服务 是开启状态,并获取授权码;

点击开启,根据步骤获取授权码; -
在邮箱控制文件中配置,填入自己的邮箱账号和密码
let transporter = nodemailer.createTransport({ host: 'smtp.qq.com', port: 465, secure: true, // 如果是 true 则port填写465, 如果 false 则可以填写其它端口号 auth: { user: "*********@qq.com", // 发件人邮箱地址 pass: "****************" // QQ授权码 } }); -
在邮箱控制文件中配置,填写发件人、收件人
let mailOptions = { from: '*********@qq.com', // 发件人地址 // 收件人列表, 向163邮箱, 139邮箱, qq邮箱各发一封,中间使用逗号分隔 to: '********@163.com, *************@139.com **********@qq.com', // 邮件主题 subject: 'this is a test', // html内容 html: '<div>Hello <h1>world</h1></div>', // 附件内容 是一个列表, 此处作了注释,可参考 /*attachments: [{ filename: 'data1.json', path: path.resolve(__dirname, 'data1.json') }, { filename: 'pic01.jpg', path: path.resolve(__dirname, 'pic01.jpg') }, { filename: 'test.txt', path: path.resolve(__dirname, 'test.txt') }],*/ }; -
在邮箱控制文件中配置,发送邮件
// 发送邮件 transporter.sendMail(mailOptions, (error, info) => { if (error) { return console.log(error); } console.log("邮件发送成功!"); });注意: a. 文件变量名称的对应; b.一定要注意授权码,如果设置了授权码,请重启服务 c. 第二步填入邮箱和账号里面的 host 配置要注意,有些blog中写的是 QQ ,但经过自己测试不能成功
三、nodejs 发送邮件 —— 163邮箱
-
在邮箱控制文件中配置,填写邮箱地址和密码
let transporter = nodemailer.createTransport({ host: 'smtp.163.com', port: 465, secure: true, // 如果是 true 则port填写465, 如果 false 则可以填写其它端口号 auth: { user: "##########@163.com", // 发件人邮箱地址 pass: "********" // 发件人邮箱登录密码 } }); -
在邮箱控制文件中配置,填写发件人、收件人
let mailOptions = { // 发件人地址 from: '##########@163.com', // 收件人列表, 向163邮箱, 139邮箱, qq邮箱各发一封,中间使用逗号分隔 to: '********@163.com, *************@139.com **********@qq.com', // 邮件主题 subject: 'this is a test', // html内容 html: '<div>Hello <h1>world</h1></div>', // 附件内容 /*attachments: [{ filename: 'data1.json', path: path.resolve(__dirname, 'data1.json') }, { filename: 'pic01.jpg', path: path.resolve(__dirname, 'pic01.jpg') }, { filename: 'test.txt', path: path.resolve(__dirname, 'test.txt') }],*/ }; -
发送邮件 , 该步骤的内容同 qq邮箱 发送内容一样,故不再描述;
注意: a. 文件变量名称的对应; b.填写邮箱和账号里面的 host 配置要注意
以上两种发送邮件的方式,配置均类似,使用其它第三方平台发送邮件的方式配置也大同小异;本篇只做简单的示例展示,且亲自测试,均可成功发送邮件!
如有疑问可在评论区发言,共同叹讨学习! 抱拳!!!
本文介绍了前端使用Nodejs发送邮件的示例。因单纯用JavaScript发送邮件有局限,所以采用Nodejs。文中说明了准备工作,即安装nodemailer并引入。还分别阐述了用QQ邮箱和163邮箱发送邮件的配置步骤,两种方式配置类似,且经测试均可成功发送。
4万+

被折叠的 条评论
为什么被折叠?



