最近一些天在学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
字段,选择填入即可
126邮箱:
同QQ邮箱基本一样,登陆之后点击设置
下拉菜单POP3/SMTP/IMAP
,勾选POP3/SMTP服务
,成功之后会生成授权码,填入对应的pass
字段
发送邮件代码如下:
首先创建项目文件夹,然后再里面打开终端输入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);
});
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。