abstract:最近一些天在學(xué)python,我覺得這門語言這門簡(jiǎn)單又很好玩,為什么不把這門語言當(dāng)做程序員學(xué)語言的敲門磚了,而選擇那么復(fù)雜的C語言。在學(xué)python的過程中,有學(xué)習(xí)到python有可以發(fā)送郵件的功能,我就在想node會(huì)不會(huì)也有發(fā)送郵件的模塊工具了,果不其然,讓我找到一個(gè),也就是本文所要介紹到的nodemailer了,npm官方地址:https://www.npmjs.com/package...py
最近一些天在學(xué)python,我覺得這門語言這門簡(jiǎn)單又很好玩,為什么不把這門語言當(dāng)做程序員學(xué)語言的敲門磚了,而選擇那么復(fù)雜的C語言。在學(xué)python的過程中,有學(xué)習(xí)到python有可以發(fā)送郵件的功能,我就在想node會(huì)不會(huì)也有發(fā)送郵件的模塊工具了,果不其然,讓我找到一個(gè),也就是本文所要介紹到的nodemailer了,npm官方地址:https://www.npmjs.com/package...
python發(fā)送郵件簡(jiǎn)單實(shí)現(xiàn)
不多說,直接看代碼:
#-*-coding:utf8-*- import smtplib from email.mime.text import MIMEText mail_host='smtp.126.com' //設(shè)置主機(jī),如果是QQ請(qǐng)換成smtp.qq.com mail_user='xxxxxxxx@126.com' //賬戶 mail_pass = '這里填入授權(quán)碼,下面會(huì)說到' //郵箱授權(quán)碼,非密碼 me = 'Leo Angel'+'<'+mail_user+'>' //發(fā)件人 to = 'xxxxxxxxx@qq.com' //收件人 msg = MIMEText("Test",_subtype='plain',_charset='utf-8') msg['Subject'] = 'Hello' //主題 msg['From'] = me //發(fā)件人 msg['To'] = to //收件人 try: server = smtplib.SMTP() //創(chuàng)建一個(gè)SMTP對(duì)象 server.connect(mail_host) //連接主機(jī) server.login(mail_user,mail_pass) //登錄賬號(hào) server.sendmail(me,to,msg.as_string()) //發(fā)送郵件 server.close() //關(guān)閉SMTP對(duì)象 print '郵件發(fā)送成功' //打印發(fā)送成功提示信息 except Exception as e: print e //打印錯(cuò)誤日志
開啟SMTP服務(wù)
我以QQ郵箱和126郵箱舉例:
QQ郵箱:
首先打開你的QQ郵箱,點(diǎn)擊設(shè)置,選擇郵箱設(shè)置第二項(xiàng)帳戶,鼠標(biāo)下拉到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù),開啟第一項(xiàng)POP3/SMTP服務(wù),如下圖所示,開啟成功后會(huì)生成授權(quán)碼給你,對(duì)應(yīng)代碼的pass字段,選擇填入即可
126郵箱:
同QQ郵箱基本一樣,登陸之后點(diǎn)擊設(shè)置下拉菜單POP3/SMTP/IMAP,勾選POP3/SMTP服務(wù),成功之后會(huì)生成授權(quán)碼,填入對(duì)應(yīng)的pass字段
發(fā)送郵件代碼如下:
首先創(chuàng)建項(xiàng)目文件夾,然后再里面打開終端輸入npm install nodemailer --save安裝nodemailer模塊,新建app.js文件,輸入以下代碼,最后執(zhí)行node app,成功之后到你收件人郵箱就可以發(fā)現(xiàn)收到了一條新信息
var mail = require('nodemailer');//引入nodemailer模塊 var transport = mail.createTransport({ host:'smtp.qq.com', //主機(jī),如果是126郵箱,請(qǐng)換成smtp.126.com secureConnection:true, //使用安全連接 port:465, //STMP端口號(hào) auth:{ user:"xxxxxxxx@xx.com", //你的郵箱賬號(hào) pass:"填對(duì)應(yīng)郵箱的授權(quán)碼" //授權(quán)碼 } }); var options ={ from:'"YOURNAME" xxxxxxxx@xx.com',//YOURNAME將變?yōu)槟汔]件的名字 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); });