我有一段非常简单的代码,在以前版本的Python中使用时没有问题(版本2.5及更早版本)。现在使用3.0,下面的代码给出登录行上的错误“参数1必须是字符串或缓冲区,而不是str”。Python 3.0 smtplib
import smtplib
smtpserver = 'mail.somedomain.com'
AUTHREQUIRED = 1 # if you need to use SMTP AUTH set to 1
smtpuser = '[email protected]' # for SMTP AUTH, set SMTP username here
smtppass = 'somepassword' # for SMTP AUTH, set SMTP password here
msg = "Some message to send"
RECIPIENTS = ['[email protected]']
SENDER = '[email protected]'
session = smtplib.SMTP(smtpserver)
if AUTHREQUIRED:
session.login(smtpuser, smtppass)
smtpresult = session.sendmail(SENDER, RECIPIENTS, msg)
谷歌显示有一些问题,该错误不明确,但我仍然无法弄清楚我需要尝试使其工作。建议包括将用户名定义为b“用户名”,但似乎也不起作用。
你应该包含回溯 – hop 2009-02-14 18:32:45
我肯定会在Python bug跟踪器上寻找这个和/或创建一个新的bug报告,因为这看起来很像smtplib或者像电子邮件这样的底层模块.base65mime – Jay 2009-02-14 19:08:27