使用nodejs发送邮件

最近一些天在学python,我觉得这门语言这门简单又很好玩,为什么不把这门语言当做程序员学语言的敲门砖了,而选择那么复杂的C语言。在学python的过程中,有学习到python有可以发送邮件的功能,我就在想node会不会也有发送邮件的模块工具了,果不其然,让我找到一个,也就是本文所要介绍到的nodemailer了,npm官方地址:https://www.npmjs.com/package/nodemailer

python发送邮件简单实现


不多说,直接看代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#-*-coding:utf8-*-
import smtplib
from email.mime.text import MIMEText
mail_host='smtp.126.com' //设置主机,如果是QQ请换成smtp.qq.com
mail_user='xxxxxxxx@126.com' //账户
mail_pass = '这里填入授权码,下面会说到' //邮箱授权码,非密码
me = 'Leo Angel'+'<'+mail_user+'>' //发件人
to = 'xxxxxxxxx@qq.com' //收件人
msg = MIMEText("Test",_subtype='plain',_charset='utf-8')
msg['Subject'] = 'Hello' //主题
msg['From'] = me //发件人
msg['To'] = to //收件人
try:
server = smtplib.SMTP() //创建一个SMTP对象
server.connect(mail_host) //连接主机
server.login(mail_user,mail_pass) //登录账号
server.sendmail(me,to,msg.as_string()) //发送邮件
server.close() //关闭SMTP对象
print '邮件发送成功' //打印发送成功提示信息
except Exception as e:
print e //打印错误日志

开启SMTP服务


我以QQ邮箱126邮箱举例:
QQ邮箱:
首先打开你的QQ邮箱,点击设置,选择邮箱设置第二项帐户,鼠标下拉到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启第一项POP3/SMTP服务,如下图所示,开启成功后会生成授权码给你,对应代码的pass字段,选择填入即可

126邮箱:
同QQ邮箱基本一样,登陆之后点击设置下拉菜单POP3/SMTP/IMAP,勾选POP3/SMTP服务,成功之后会生成授权码,填入对应的pass字段

发送邮件代码如下:


首先创建项目文件夹,然后再里面打开终端输入npm install nodemailer --save安装nodemailer模块,新建app.js文件,输入以下代码,最后执行node app,成功之后到你收件人邮箱就可以发现收到了一条新信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var mail = require('nodemailer');//引入nodemailer模块
var transport = mail.createTransport({
host:'smtp.qq.com', //主机,如果是126邮箱,请换成smtp.126.com
secureConnection:true, //使用安全连接
port:465, //STMP端口号
auth:{
user:"xxxxxxxx@xx.com", //你的邮箱账号
pass:"填对应邮箱的授权码" //授权码
}
});
var options ={
from:'"YOURNAME" xxxxxxxx@xx.com',//YOURNAME将变为你邮件的名字
to:"xxxxxxxx@126.com,xxxxxxxx@qq.com,xxxxxx@gmail.com",//收件人
subject:'Hello', //主题
text:"World", //正文
attachments:[{ //附件
filename:"附加文件", //附件名字
path:"./app.js" //附件路径
}]
};
transport.sendMail(options,function (err, res) {
if(err) console.log(err);
else console.log(res);
});

如果您觉得我的文章对您有用,请随意打赏。

您的支持将鼓励我继续创作!

¥ 打赏支持

文章导航

目录

×
  1. 1. python发送邮件简单实现
  2. 2. 开启SMTP服务
  3. 3. 发送邮件代码如下: