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

python之smtplib模块 发送邮件

2015-11-07 14:32 971 查看
# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#smtplib模块 发送邮件

import smtplib
from email.mime.text import MIMEText

''' http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html #基本思路:
1、构造发送邮件的主程序,创建发邮件的对象,链接服务器、登录服务器、发送邮件命令行、关闭服务器
2、在主程序中为了便于错误分析,加入try异常处理函数
3、启动程序检测if __name__ == '__main__'
4、传入相关参数运行程序
5、smtplib和email模块,email负责构造邮件,而smtplib负责发送邮件
6、msg=MIMEText(content,_subtype='plain',_charset='utf-8')
1)构造MIMEText对象时,第一个参数content是邮件正文
2)第二个参数为_subtype,传入plain
3)最后一个参数_charset一定要是utf-8编码保证多语言的兼容性
'''

#构造发邮件的主程序
def send_mail(user,password,to,sub,content):
#subject:标题<sub>
#content:邮件内容
#type(MIMEText)#<type 'classobj'>
msg = MIMEText(content,_subtype='plain',_charset='utf-8')
msg['Subject'] = sub
msg['From'] = user
msg['To'] = to
try:
#创建对象
server = smtplib.SMTP()
#链接服务器
server.connect('smtp.163.com')#设置服务器
#登录服务器
server.login(user,password)
#发送邮件
server.sendmail(user,to,msg.as_string())
server.close()
return True
except Exception, e:
print e
return False

#启动程序
if __name__ == '__main__':
user="*********@163.com"#用户名
password="*****"   #口令
To='******@163.com'
sub='我就是标题'
content="见到我,表示邮件发送成功"
#调用函数发送邮件
if send_mail(user,password,To,sub,content):
print "发送成功"
else:
print "发送失败"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: