我正在通过 docker-compose 运行 docker-mailserver。该程序似乎运行良好,没有给出任何错误消息。我可以根据需要添加用户和其他内容,一切似乎都很好。但是,我无法通过 telnet 或简单的 python 程序对任何添加的用户进行身份验证。
我的目标是通过 docker-mailserver 使用 python 发送电子邮件。这是那个小脚本的代码:
import smtplib, ssl
server = "name.domain.com"
port = 587
password = "password"
sender = "[email protected]"
recipient = "[email protected]"
message = "Subject: Test\n\nIs it really so hard?"
context = ssl.create_default_context()
try:
server = smtplib.SMTP(server, port)
server.ehlo()
server.starttls(context=context)
server.ehlo()
server.login(sender, password)
server.sendmail(sender, recipient, message)
except Exception as e:
print(e)
finally:
server.quit()
该脚本相当简单,考虑到我明确使用了刚才添加的用户名和密码,会抛出以下错误:
(535, b'Incorrect authentication data')
我可以确认该脚本工作得很好,因为我已经使用测试 gmail 帐户/服务器尝试过它,它的工作效果符合预期。
所以我想问题是我无法使用给定的登录数据对服务器进行身份验证。有谁知道该问题的原因是什么以及解决方案是什么?
全部运行在 KUbuntu 18.04 上