如何为Docker部署的Django容器配置SMTP后端?
备选方案:自己搭建SMTP容器(仅推荐测试/特殊场景)
如果因为某些限制不能用Gmail,你可以用Mailhog容器做测试环境的邮件服务器(它不会发送真实邮件,只是用来收集调试邮件):
在docker-compose.yml中添加Mailhog服务:
services: # 你的Django服务... mailhog: image: mailhog/mailhog ports: - "1025:1025" # SMTP端口 - "8025:8025" # Web界面端口,用来查看收到的测试邮件
然后修改Django的settings.py配置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'mailhog' # Docker内部可以通过容器名访问服务 EMAIL_PORT = 1025 EMAIL_USE_TLS = False
访问http://localhost:8025就能看到所有发送的测试邮件了。但如果要发送真实邮件,你还需要配置Postfix等生产级SMTP容器,这会复杂很多,所以还是优先推荐Gmail的方案。
内容的提问来源于stack exchange,提问作者user9588170
相关产品推荐
相关产品推荐

