用python发送email问题

用telnet登陆QQ smtp服务器,能够验证成功。但是用python程序登录时却总是无法登陆。
程序源代码为:
import smtplib, base64

class SimpleSendMail:
def __init__(self, smtp_server, from_addr, to_addr, user, passwd):
self.from_addr = from_addr
self.to_addr = to_addr
self.username = base64.encodestring(user)
self.password = base64.encodestring(passwd)
self.mailserver = smtp_server

def send(self, msg):
server = smtplib.SMTP(self.mailserver)
server.set_debuglevel(1)
server.docmd("EHLO server")
server.docmd("AUTH LOGIN")
server.send(self.username)
server.getreply()
server.send(self.password)
server.getreply()
server.docmd("MAIL FROM:" + self.from_addr)
server.docmd("RCPT TO:" + self.to_addr)
server.docmd("DATA")
server.send(msg)
server.send("rn.rn")
server.getreply()
server.reset()
server.quit()

if __name__ == '__main__':
test = SimpleSendMail("smtp.qq.com", "[email protected]", "[email protected]", "893593610", "20042007lll")
test.send("hehehrna test from python send mail")
运行到发送密码时,
server.send(self.password)
便没有反应了,接着给出一个错误:connection unexpected closed
为什么还没有人回答呢

第1个回答  2009-08-11
我懒得在你的代码里面找bug了
你看看我的吧,只是贴进百度空间的时候格式没有了,你稍微调整一下
http://hi.baidu.com/linuxbird/blog/item/a931ff60b74a224cebf8f8fc.html

可以明确的说Python的邮件模块没有问题,也不需要自己修改什么。

Python 邮件列表里面上次有人发了一个多线程的邮件群发脚本,也很不错。有兴趣可以搜索一下。
第2个回答  2009-08-10
python给QQ邮件服务器发邮件,目前有问题,需要修改smtplib.py文件。
具体方法可以在网上搜到。本回答被提问者采纳
相似回答