python之smtplib模块 发送邮件

# -*- 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 "发送失败"

 

posted @ 2015-11-07 14:32  Xiao|Deng  阅读(290)  评论(0编辑  收藏  举报