python3.5之smtp

Posted 知_行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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!

 

以上是关于python3.5之smtp的主要内容,如果未能解决你的问题,请参考以下文章

Python 通过 SMTP 发送邮件

python3.5 之Scrapy环境安装

python3.5之string

Python快速入门指南之使用POP/SMTP控制电脑(改进版)

面向面试编程代码片段之GC

RT-Thread之入门跑代码