【发布时间】:2020-01-24 19:53:43
【问题描述】:
以前,我使用 SendGrid 使用 Django 的 SMTP 后端来提供电子邮件,它工作得非常好。但是,现在我希望我的项目使用 Microsoft Exchange。当我在settings.py 中更新我的SMTP 配置时,在提交一些要通过电子邮件发送的表单时,尝试访问服务器时页面超时:TimeoutError: [Errno 60] Operation timed out。
settings.py
# E-Mail
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.microsoft365.com'
EMAIL_HOST_USER = 'username@domain.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
views.py
# Send email
send_mail('!!New Mail!! ', content, 'noreply@domain.com', ['username@domain.com'], fail_silently=False)
【问题讨论】:
-
您确定您的服务器可以通过 587 端口连接到您的邮件服务器吗?尝试使用telnet连接到你的邮件服务器,确保你的服务器可以先连接到邮件服务器
-
@ToanQuocHo 我能够使用 telnet 连接到我的邮件服务器,并且
nslookup返回了正确的smtp。还有其他想法吗? -
如果您可以通过 telnet 使用凭据进行连接,那么似乎没有任何问题。确保没有覆盖您的电子邮件设置的配置。我的意思是我们应该确保当您拨打
send_email时,电子邮件设置设置正确。