Python用smtplib发送邮件
参照了下面:
1. 先随便照着试试这个:
http://blog.csdn.net/zhaoweikid/article/details/1638349
2. 这个写了一个很简洁的代码,看过NO.1就会明白:
http://blog.csdn.net/jgood/article/details/4329532#
3. 我的经验:
我前几次尝试发送都失败了,原因是smtp.sendmail()函数的第三个参数,里面的格式填写不完整。
对方的服务器可能判定,这样的邮件内容是垃圾邮件,就拒收了。
参考_1: 说明: 怎么处理 smtp header
参考_2: 说明: Part: SMTP transport example - 怎么写 smtp subject
参考_3: 说明: 完整的 smtp format, smtp格式
自己写的msg部分,代码很难看- -!
# NO.2, the simple code test: #coding: utf-8 import smtplib smtp = smtplib.SMTP() smtp.connect('smtp.126.com', '25')
# from, to from_addr = 'usr_name@126.com' to_addr = 'to_addr@qq.com' # Authentication, 基本必须进行的用户认证,有反垃圾邮件或者其他什么检查机制 smtp.login(from_addr, 'password') # Create the From: and To: headers at the start! # Notice the To: . I learn from the offical doc, the author is really smart. msg = ('From: %s\r\nTo: %s\r\n' % (from_addr, ','.join(to_addr))) msg = msg + '''Subject: Test Hi, I just test this format!! Just python send mail test - -.''' smtp.sendmail(from_addr, to_addr, msg) smtp.quit()
这样就可以让正文发送正确了。
工作要认真。做出来的东西要符合要求。幸亏现在没工作- -!有时间- -!
————更多交流,可以QQ:95二零7③9六