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()

 

 这样就可以让正文发送正确了。 

工作要认真。做出来的东西要符合要求。幸亏现在没工作- -!有时间- -!

 

 

posted @ 2013-07-02 20:56  kv9  阅读(722)  评论(0编辑  收藏  举报