【发布时间】:2020-06-15 09:22:48
【问题描述】:
我想在 python 上使用smtp lib 发送邮件。我知道它在端口号 25 上使用本地 smtp 服务。我有以下代码。这些代码在我的本地运行没有任何问题,邮件发送成功。但是当我将它们移动到 docker 容器时,邮件不会发送,也不会出现任何错误。
我的代码:
from_mail = 'noreply@testmail.com'
to_mail = 'to@testmail.com'
s = smtplib.SMTP('localhost')
subject = 'Test Subject'
content = 'content test'
message = f"""\
Subject: {subject}
To: {to_mail}
From: {from_mail}
{content}"""
result = s.sendmail(from_mail, to_mail, message)
s.quit()
运行这些代码后,我得到空 dict ({}) 作为 result 值。在sendmail方法描述中有这样的:
...邮件已被接受以传递给三个 四个地址中的一个,其中一个被拒绝,错误代码为 550. 如果所有地址都被接受,那么该方法将返回一个 空字典。
是关于网络配置的吗?我应该配置任何网络设置吗?
【问题讨论】:
-
旅游集装箱基于什么图像?以及如何运行容器?这可能有助于解决您的问题
-
我的容器基于
python:3.6-slim-buster -
可以分享一下dockerfile吗?
-
你的操作系统是什么?
标签: python-3.x docker email smtp sendmail