nodejs发送邮件

先说下环境 NodeJS + Express

1.安装nodemailer依赖(这里使用淘宝镜像,可以不用)

npm install nodemailer --registry=https://registry.npm.taoabo.org

注意:我这里nodemailer命名为了nodeMailer注意一下大小写,纯粹个人习惯

var nodeMailer = require("nodemailer");

 核心代码:

router.get("/mail/send", function (req, res) {
	try {
		// 开启一个 SMTP 连接池
		var smtpTransport = nodeMailer.createTransport({
			host: "smtp.qq.com", // 主机
			secureConnection: true, // 使用 SSL
			port: 465, // SMTP 端口
			auth: {
				user: "[email protected]", // 发件人账号
				pass: "iuspvubkwyofbfch" // 授权码(这个是假的,改成发件人账号对应即可,获取方法: QQ邮箱-->设置-->账户-->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务-->IMAP/SMTP开启 复制授权码)
			}
		});
		// 设置邮件内容
		var mailOptions = {
			from: "马小马 <[email protected]>", // 发件人地址(昵称 <发件人账号>)
			to: "[email protected],[email protected]", // 接收人列表,多人用','隔开
			subject: "Hello world", // 标题
			html: "thanks a for visiting! 世界,你好!
", // html内容 图片src使用配置的cid attachments :[{//完整配置参考 https://nodemailer.com/message/attachments/ filename: 'img1.png', // 改成你的附件名 path: 'https://baidu.com/D9C55ACCC895.jpg', // 链接是假的,仅供参考,可以改成相对路径,也可以是网络地址,其他的参考文档 cid : '00000001' // cid可被邮件使用 }] } // 发送邮件 smtpTransport.sendMail(mailOptions, function(error, response){ smtpTransport.close(); // 发送完成关闭连接池 if(error){ res.end(JSON.stringify(error)); }else{ console.log("Message sent: " + response.message); res.end(JSON.stringify(response)); } }); }catch (e) { res.end(JSON.stringify(e)); } });

直接复制代码运行即可,如有问题,请留言

 

你可能感兴趣的:(NodeJs,nodejs发邮件,nodemailer,qq邮箱)