我有一段非常简单的代码,我在以前的 Python 版本(2.5 版和更早版本)中使用它没有问题。现在使用 3.0,下面的代码在登录行给出错误“参数 1 必须是字符串或缓冲区,而不是 str”。
import smtplib
smtpserver = 'mail.somedomain.com'
AUTHREQUIRED = 1 # if you need to use SMTP AUTH set to 1
smtpuser = 'admin@somedomain.com' # for SMTP AUTH, set SMTP username here
smtppass = 'somepassword' # for SMTP AUTH, set SMTP password here
msg = "Some message to send"
RECIPIENTS = ['admin@somedomain.com']
SENDER = 'someone@someotherdomain.net'
session = smtplib.SMTP(smtpserver)
if AUTHREQUIRED:
session.login(smtpuser, smtppass)
smtpresult = session.sendmail(SENDER, RECIPIENTS, msg)
谷歌显示该错误存在一些问题并不清楚,但我仍然无法弄清楚我需要什么来尝试使其工作。建议包括将用户名定义为 b"username",但这似乎也不起作用。