最近一些天在学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); });
|