python3.5之smtp

 电子邮件无疑是最流行的应用程序,所有的TCP链接中大约一半是用于简单邮件传送协议SMTP

TCP/IP交换电子邮件示意图

综上,MUA ->MTA->MDA-user目录->MTA->MUA       

我们要注意:MDA还可以解决最终发送问题,如病毒扫描、垃圾邮件过滤以及送达回执处理。

只有5个SMTP命令用于发送邮件:HELO/EHLO (前者普通,后者安全),MAIL,RCTP,DATA,QUIT

HELO/EHLO 用于标识自己,参数必须是完全合格的域名

MAIL命令标识邮件的发起人

RCTP标识接收方

 

 python发送纯字符串邮件

#!/usr/local/bin/python3.5
from email.mime.text import MIMEText
from smtplib import SMTP_SSL

msg = MIMEText('hello,send by Python...','plain','utf-8')

mail_info = {
        'From':'xxx@xxx.xx',
        'Password':'xxxxx',
        'To':'xxxxx@qq.com',
        'Mail_server':'smtp.exmail.qq.com',
}
if __name__ == '__main__':
        smtp = SMTP_SSL(mail_info['Mail_server'])

        smtp.ehlo(mail_info['Mail_server'])
        smtp.login(mail_info['From'],mail_info['Password'])


        msg = MIMEText('hello,test','plain','utf-8')
        msg['Subject'] = 'hello world'
        msg['From'] = mail_info['From']
        msg['To'] = mail_info['To']
        smtp.sendmail(mail_info['From'],mail_info['To'],msg.as_string())
        smtp.quit()

 

结果如图所示,正常收到邮件

发送HTML文件

2点

1,mail_info里面添加元素

'Mail_text':'''
        <html><body><h1>myblog</h1>  <p>send by <a href="http://www.cnblogs.com/changbo">Myblog</a>...</p>  
        </body></html>
'''

2,MIMEText(mail_info['Mail_text'],'html','utf-8')  中的plain换成html 即可

 

发送附件

 

正在学习中

请看next个blog.....

 

END!

 

posted @ 2016-06-04 23:37  知_行  阅读(364)  评论(0编辑  收藏  举报