在Django中通过微软交换服务器发送邮件是否可行?
如果是的话,怎么做呢?我在谷歌上找不到任何相关的信息。
4 个回答
0
这是我的settings.py文件的样子,它可以正常工作。
# Email Backend Service
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'yourexchangservername'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
# Use environment variables for sensitive information
EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD')
DEFAULT_FROM_EMAIL = os.environ.get('DEFAULT_FROM_EMAIL')
1
在Exchange上使用SMTP和其他邮件服务器其实没什么不同。你可能会遇到一个问题,就是不允许匿名访问来进行邮件转发。如果只启用了集成认证,可以看看这个链接;
使用Python通过Exchange进行集成Windows认证(NTLM)的SMTP
另外,确保Django服务器的IP地址被添加到Exchange的转发IP列表中(如果这个功能是启用的)。
2
如果还有人需要帮助的话……我花了一些时间才搞明白在默认的MSE配置中,EMAIL_HOST这个设置应该是什么。
EMAIL_HOST = 'outlook.office365.com'
EMAIL_HOST_USER = user@yourdomain.com
EMAIL_HOST_PASSWORD = Y0urP@$$w0rd
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
以上的配置在我这里使用Django的默认邮件后台运行得很好。