gpt4 book ai didi

Python 3.0 smtplib

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:29 25 4
gpt4 key购买 nike

我有一段非常简单的代码,我在以前的 Python 版本(2.5 及之前的版本)中使用它没有问题。现在使用 3.0,以下代码在登录行上给出错误“argument 1 must be string or buffer,not 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"用户名",但这似乎也不起作用。

最佳答案

更新:刚刚从错误跟踪器中注意到还有一个建议的修复:

编辑 smtplib.py 并将现有的 encode_plain() 定义替换为:

def encode_plain(user, password):
s = "\0%s\0%s" % (user, password)
return encode_base64(s.encode('ascii'), eol='')

在我的安装上进行了测试,它工作正常。

关于Python 3.0 smtplib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/549391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com