【问题标题】:How to Send an Email Django如何发送电子邮件 Django
【发布时间】: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 时,电子邮件设置设置正确。

标签: django smtp office365


【解决方案1】:

当我为我的特定邮件服务器使用正确的 SMTP 端口(25、465、587)时,我解决了我的问题。

settings.py

EMAIL_PORT = 25

【讨论】:

    猜你喜欢
    • 2011-10-18
    • 2020-05-03
    • 2018-07-24
    • 2019-07-10
    • 2014-10-26
    • 2012-05-20
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    相关资源
    最近更新 更多