来自rancher容器中python客户端的smtp超时
我有一个奇怪的问题,没有任何想法可能是错误的,所以也许写在这里可以帮助我想出想法。 或者有人可以帮助我:)
我有一个在牧场运行的Django站点,过去几周我注意到电子邮件无法正常工作。 超时错误被提出。 我使用mailgun.org作为SMTP服务器。
这是从牧场容器控制台输出的:
/app/app # ipython
Python 2.7.14 (default, Dec 19 2017, 22:36:09)
Type "copyright", "credits" or "license" for more information.
IPython 5.5.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: from smtplib import SMTP
In [2]: smtp = SMTP(host='smtp.mailgun.org', port=587)
它只是挂起。 当然,添加超时会引起超时。
我猜想mailgun有问题。 但在本地同一图像上运行相同的代码( commit-hash
与rancher容器上的一致)。
docker run -ti registry.gitlab.com/namespace/app:commit-hash /bin/sh
/app/app # ipython
Python 2.7.14 (default, Dec 19 2017, 22:36:09)
Type "copyright", "credits" or "license" for more information.
IPython 5.5.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: from smtplib import SMTP
In [2]: smtp = SMTP(host='smtp.mailgun.org', port=587)
In [3]:
我不知道它是如何工作的。 我联系mailgun支持,如果他们阻止我的服务器的IP地址的问题。 他们的回答:
我们不阻止生产IP。 一个环境可以工作而不是另一个环境的唯一方式是您的两个环境有一些不同的方面,所以我们建议您检查一下您的配置。
如果我使用同一个泊坞窗图像,那里会有什么不同? 只有我改变环境的方式是env变量,但是它们都不与python / system有关。
我认为使用gevent会导致错误,但是我昨天删除了它。
请在码头控制台中尝试“telnet smtp.mailgun.org 587”
/app/app # telnet smtp.mailgun.org 587
telnet: can't connect to remote host (52.10.40.100): Operation timed out
/app/app #
Dockerfile的第一行:
FROM python:2.7-alpine
ENV PYTHONUNBUFFERED 1
# Install dependencies
RUN apk update &&
apk add --no-cache build-base
curl
nano
postgresql-dev
vim
从主机telnet:
~# telnet smtp.mailgun.org 587
Trying 34.232.180.42...
Trying 54.164.235.211...
Trying 34.237.7.101...
telnet: Unable to connect to remote host: Connection timed out
你好,
为了顺利响应您的请求以取消阻止服务器的端口25,需要进行额外的验证。 ...
看起来像提供商(Scaleway.com)阻止该端口。
当我使用外部邮件服务时,我不知道托管公司正在这样做。 无论如何,验证我的帐户,禁用阻止,硬重启服务器,它的工作原理。
谢谢大家的意见/帮助!
链接地址: http://www.djcxy.com/p/41073.html