python 使用 smtp.163.com 发送邮件email 错误 ~~~ 请达人看看,附 代码

python 使用 smtp.163.com 发送邮件email 错误 ~~~ 请达人看看,附 代码

import smtplib,mimetypes
from email import Encoders
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart


msg = MIMEMultipart()                        #创建可包含附件的MIME对象
msg['Subject'] = 'this is title'
msg['From'] = 'documenttxtpx@163.com'
msg['To'] = 'ybbkkxd2@gmail.com'

txt = MIMEText('这是邮件正文的中文测试。',_charset='utf-8')
msg.attach(txt)

filename = 'c:\\boot.ini'                     #附件名
fp = open(filename,'rb')
ctype,encoding = mimetypes.guess_type(filename)
if ctype is None or encoding is not None:
        ctype = 'application/octet-stream'
maintype,subtype = ctype.split('/',1)
m = MIMEBase(maintype,subtype)
m.set_payload(fp.read())
fp.close()
Encoders.encode_base64(m)                                             #把附件编码
m.add_header('Content-disposition','attachment',filename=filename)    #修改邮件头
msg.attach(m)                                                         #添加附件

s = smtplib.SMTP('smtp.163.com')                                     #连接邮件服务器

s.login('documenttxtpx','**********')                                               #登录邮件服务器
s.sendmail('documenttxtpx@163.com','ybbkkxd2@gmail.com',msg.as_string())         #发送邮件
s.close()

## 我保证我的用户名与密码绝对正确。出现验证错误绝对不是用户名与密码真正错误。。

#
#

我也是163的验证通不过,就申请了一个新浪的邮箱同样的方法就可以验证通过
需要修改一个文件,网上有,你把错误信息搜索下就可以了。
谢谢各位,换成sina的了,python 很奇怪啊,像 outlook foxmail 这些客户段登陆 一般的 邮件服务器 都行啊,包括163 在内,都可以

python 怎么就不行呢????????



QUOTE:
原帖由 ybbkd2 于 2006-4-15 20:27 发表
谢谢各位,换成sina的了,python 很奇怪啊,像 outlook foxmail 这些客户段登陆 一般的 邮件服务器 都行啊,包括163 在内,都可以

python 怎么就不行呢????????


我记得事套接字问题,密码报文的格式或者变量名需要修改下,只记得这么多了,我当时也是163的问题,改过后就好了,网上有这个补丁。
哈哈,163的认证协议不标准,Python只支持标准的,需要做特殊处理才行。Python.cn的邮件列
表中有讨论,最好的办法是换成Sohu 或别的邮箱,就可以。
多谢各位指点,问题弄明白并解决了 。