您的位置:首页 > 编程语言 > Python开发

用python发送邮件

2017-01-09 17:21 381 查看
有时候,当我们在爬虫或者其他需要机器长时间工作的情况下,代码可能由于某种异常而停止运行,这时候可以利用邮件,短信等手段通知我们,短信接口需要购买,我们可以利用免费的邮件服务来提醒我们。这里,我利用SMTP(simple mail and transfer protocol,简单邮件传输协议)发送邮件。

直接用别人的代码

#!/usr/bin/python3
#-*-coding:UTF-8-*-
import smtplib
import time
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
#收件人列表
mail_namelist = ["×××××××@qq.com","××××××××@qq.com"]
#发送方信息
mail_user = "邮箱地址"
mail_pass = "邮箱密码"
#邮件标题
mail_subject = "python 发送测试文件"
#邮件文本内容
mail_context = "是邮件内容~~  "
def send_main():
msg = MIMEMultipart()
msg['From'] = mail_user
msg['To'] = ";".join(mail_namelist)
msg['Subject'] = mail_subject
#添加邮件内容
txt = MIMEText("这是邮件内容~~  ooxx")
msg.attach(txt)
#发送邮件
smtp = smtplib.SMTP()
#修改成对应的smtp服务地址以及端口号
smtp.connect('smtp.qq.com:25')
smtp.login(mail_user, mail_pass)
smtp.sendmail(mail_user, mail_namelist, msg.as_string())
smtp.quit()
print ('邮件发送成功')

if __name__ == '__main__':
send_main()


这部分代码还可以为之加上异常处理,当网络断开或者其他情况,也可能会出问题。

不论是使用163邮箱还是QQ邮箱等,都需要开启POP3/SMTP/IMAP服务,参见参考网址1。126,188等邮箱的服务地址以及端口号详见参考网址2。QQ邮箱开启SMTP服务办法,见参考网址3.

说明:此文中的代码完全摘抄于http://www.cnblogs.com/ztteng/p/4439154.html

http://help.163.com/10/0312/13/61J0LI3200752CLQ.html

http://mail.163.com/mailhelp/client.htm

http://jingyan.baidu.com/article/0f5fb099dffe7c6d8334ea31.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 邮件