参照了下面:
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', '')
# 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()
这样就可以让正文发送正确了。
工作要认真。做出来的东西要符合要求。幸亏现在没工作- -!有时间- -!