gpt4 book ai didi

python - 使用 python SMTP 发送电子邮件时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:16:37 26 4
gpt4 key购买 nike

所以我很难找到这个错误是什么:

smtplib.SMTPAuthenticationError: (235, 'welcome')

我在任何地方都找不到 235 是什么的明确答案。

所以我做了以下事情:

s = smtplib.SMTP()
s.connect("smtp.myserver.com", 25)

回复(220,“欢迎使用 9x SMTP 服务器”)

然后我这样做:

s.ehlo()

然后回来

(250, 'p3\nAUTH LOGIN\nHELP')

我这样做是因为服务器不支持starttls

smtplib.SMTPException: STARTTLS extension not supported by server.

然后我尝试登录:

>>> s.login("test@myserver.com", "password")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python27\lib\smtplib.py", line 608, in login
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (235, 'welcome')

我不知道 235 是什么意思,但我收到了一个欢迎字符串。我真的很困惑,我 100% 确定我的凭据是正确的。

最佳答案

您的服务器对 AUTH LOGIN 的响应命令是非典型的,并且可能是非标准的。

典型的模式是这样的:

C: AUTH LOGIN xxxx
S: 334 yyyy
C: zzzz
S: 235 welcome

哪里C表示客户端,S表示服务器,xxxx是 base64 编码的用户名,yyyy是一个可忽略的base64编码字符串,并且 zzzz是base64编码的密码。

你的服务器正在这样做:

C: AUTH LOGIN xxxx
S: 235 welcome

无论出于何种原因,您的服务器似乎对密码不感兴趣。

我不知道您的服务器可能需要进行哪些配置更改。如果您有兴趣修改 smtplib.py,请查找以下代码:

    elif authmethod == AUTH_LOGIN:
(code, resp) = self.docmd("AUTH",
"%s %s" % (AUTH_LOGIN, encode_base64(user, eol="")))
if code != 334:
raise SMTPAuthenticationError(code, resp)
(code, resp) = self.docmd(encode_base64(password, eol=""))

然后尝试这样的事情:

    # UNTESTED
elif authmethod == AUTH_LOGIN:
(code, resp) = self.docmd("AUTH",
"%s %s" % (AUTH_LOGIN, encode_base64(user, eol="")))
if code == 334:
(code, resp) = self.docmd(encode_base64(password, eol=""))
elif code != 235:
raise SMTPAuthenticationError(code, resp)

另一方面,修改你的程序可能更有意义。试试这个:

#s.login("test@myserver.com", "password")
code, resp = s.docmd('AUTH LOGIN', encode_base64('test@myserver.com'))
if code==334:
# Probably won't happen on "the 9x SMTP Server"
code, resp = s.docmd(encode_base64('password'), '')
if code!=235:
raise smtplib.SMTPAuthenticationError(code, resp)

引用:

关于python - 使用 python SMTP 发送电子邮件时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915722/

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