django - 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'
谢谢你们。
解决方案
PythonAnywhere 上的免费帐户只能使用 HTTP 或 HTTPS 连接到列入白名单的外部服务器;您正在尝试使用 SMTP 进行连接,这是一种不同的协议。如果您想从免费帐户发送电子邮件,您需要使用 GMail,或者使用基于 HTTPS 的电子邮件解决方案,例如 MailGun 或 SendGrid。或者,您可以升级到付费帐户,这将允许您使用 SMTP 到其他服务器。
有关此 PythonAnywhere 帮助页面的更多信息。
推荐阅读
- spring - Instagram 浏览器 CSRF 问题(可能是隐藏的输入问题)
- r - 如何按组获取 lm() 系数和置信区间?
- javascript - Reactjs - 材料 UI - 减少表单框架 - 分组复选框需要验证错误修复以至少需要一个复选框
- java - 如何在 Spring MVC 中发送 id 而不是整个对象???(休眠/Spring-Data-JPA)
- java - 是否有任何方法可以在一组网格中使用 java 中的初学者寻路?
- mongodb - 如何将多个文档从单个集合转换为包含一个数组的单个文档
- ruby-on-rails - ActiveRecord::RecordNotFound(找不到没有 ID 的订阅):
- razor - 为什么html输入时间控件绑定到blazor中的属性时会失去焦点?
- google-cloud-firestore - 有没有办法清空 Firebase Cloud Functions 中的缓存变量?
- powershell - 如何通过命令行或 Power Shell 在 Window 10 上启用虚拟化?