使用nodejs发送邮件

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

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

python发送邮件简单实现

不多说,直接看代码:

#-*-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字段,选择填入即可

wKiom1gpqkLx9VETAAAZXesw_34645.jpg-wh_651x-s_148963883.jpg

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

wKiom1gpqkLx9VETAAAZXesw_34645.jpg-wh_651x-s_148963883.jpg

发送邮件代码如下:

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

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); });


Release Notes

Popular Entries