SMTP服务器断开连接:连接意外关闭:超时。

5

运行sentry on-premise docker容器(版本8.20)并传入以下环境变量:

-e SENTRY_EMAIL_HOST="smtp.sendgrid.net"
-e SENTRY_EMAIL_PORT=465
-e SENTRY_EMAIL_USE_TLS="True"
-e SENTRY_EMAIL_USER="apikey"
-e SENTRY_EMAIL_PASSWORD= '****'

我收到了以下内容:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/celery/app/trace.py", line 438, in __protected_call__
    return self.run(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/tasks/base.py", line 54, in _wrapped
    result = func(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/tasks/email.py", line 76, in send_email
    send_messages([message])
  File "/usr/local/lib/python2.7/site-packages/sentry/utils/email.py", line 415, in send_messages
    sent = connection.send_messages(messages)
  File "/usr/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 87, in send_messages
    new_conn_created = self.open()
  File "/usr/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 48, in open
    local_hostname=DNS_NAME.get_fqdn())
  File "/usr/local/lib/python2.7/smtplib.py", line 256, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/local/lib/python2.7/smtplib.py", line 317, in connect
    (code, msg) = self.getreply()
  File "/usr/local/lib/python2.7/smtplib.py", line 365, in getreply
    + str(e))
SMTPServerDisconnected: Connection unexpectedly closed: timed out

有人知道可能是什么原因吗?
2个回答

8
根据Sendgrid文档,您还可以通过465端口实现SSL连接。
目前,django.core.mail.backends.smtp.EmailBackend似乎不支持通过ssl发送电子邮件,只支持TSL。
我将端口更改为587,预期中的电子邮件已经发送出去。

如果TLS被禁用,那么在Sentry中会怎样? - Brunis
非常感谢!这真的是正确的答案!这适用于Sentry 10(Docker)。 - Dennis Y. Parygin

1
现在,这项功能已经可用。您可以设置自己的环境变量。
按下ctrl+shift+s。
对于Windows和Linux,请前往“文件|设置|构建、执行、部署|控制台|Django控制台”。
对于macOS,请前往“PyCharm | 首选项| 构建、执行、部署 | 控制台| Django控制台”。
将变量设置到“变量”部分。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接