如何解决Django 和 Google 之间电子邮件的奇怪行为
我已将 Django 设置配置为使用 gmail 发送电子邮件(用于重置密码) 但是,我正面临来自 Google 的奇怪行为:
- 在本地,它工作正常,当我使用我的 Django 应用程序时,我收到一封电子邮件已发送的报告;
- 部署在 DigitalOcean 上,使用 shell,它工作正常:
>>> from django.core.mail import send_mail
>>> send_mail("Objet3","Message body","from.eg@gmail.com",['to.eg@gmail.com'],fail_silently=False)
1
但是,在使用部署的应用程序时,我总是收到服务器错误 500,这是 Sentry 报告的:
SMTPSenderRefused: (530,b'5.7.0 Authentication Required. Learn more at\n5.7.0 https://support.google.com/mail/?p=WantAuthError f6sm10267338edk.13 - gsmtp','webmaster@localhost')
这真的很令人费解,就像在 Gmail 中一样:
- 我降低了安全级别,
- 我创建了一个应用通行证并实施了它... 有没有人有想法,它可能来自哪里?
解决方法
Google 不想成为这样的电子邮件提供商,因此他们让这变得越来越困难。查看提供程序,例如 sendgrid、mailgun 或 others。
,最后,SendGrid 是一个合理且实用的解决方案,因为我可以将其配置为:
- 用我自己的域名发送电子邮件,
- 验证电子邮件,使其不会落入垃圾邮件 他们有一个免费的计划,在开发阶段绝对有用。
感谢 Schillingt 的建议。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。