У меня есть очень простой кусок кода, который я без проблем использовал в предыдущих версиях 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)
Google показывает, что есть некоторые проблемы с этой неясной ошибкой, но я все еще не могу понять, что мне нужно, чтобы заставить ее работать. Предложения включали в себя определение имени пользователя как b "username", но это тоже не сработало.