首页 > 解决方案 > Django 在 Pythonanywhere 上使用 Office365 发送电子邮件

问题描述

我已经在 Pythonanywhere 上部署了我的 Web 项目。我用 gmail SMTP 发送电子邮件,但我想用 Office365(公司帐户)发送。我使用了很多选项,但我没有弄清楚。它存在于 Pythonanywhere 的白名单中

它抛出该错误:

期望值:[Errno 101] 网络不可达

在我的 settings.py 中是这样的:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.office365.com'

EMAIL_HOST_USER = 'xyz@domainname.com'

EMAIL_HOST_PASSWORD = '########'

电子邮件端口 = 587

EMAIL_USE_TLS = 真

DEFAULT_FROM_EMAIL = 'xyz@domainname.com'

SERVER_EMAIL = 'xyz@domainname.com'

谢谢你们。

标签: djangoemailoffice365pythonanywhere

解决方案


PythonAnywhere 上的免费帐户只能使用 HTTP 或 HTTPS 连接到列入白名单的外部服务器;您正在尝试使用 SMTP 进行连接,这是一种不同的协议。如果您想从免费帐户发送电子邮件,您需要使用 GMail,或者使用基于 HTTPS 的电子邮件解决方案,例如 MailGun 或 SendGrid。或者,您可以升级到付费帐户,这将允许您使用 SMTP 到其他服务器。

有关此 PythonAnywhere 帮助页面的更多信息。


推荐阅读