【问题标题】:password_reset does not pick from_email when using sendgrid使用 sendgrid 时 password_reset 不选择 from_email
【发布时间】:2021-01-14 04:47:47
【问题描述】:

我为整个 django 项目设置了电子邮件,它工作正常。在以下网址重置密码时:

http://127.0.0.1:8000/rest-auth/password_reset/

提交电子邮件后,它会抛出:

SMTPDataError at /rest-auth/password_reset/
(550, b'The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved.

当我深入研究这个问题时,我注意到这个视图根本无法捕获 from_email:

如果我在此处手动输入电子邮件,一切正常。另外,如果我使用 gmail,它也可以正常工作。

我想知道电子​​邮件没有被阅读是怎么回事!

【问题讨论】:

  • 您可以将视图子类化以设置 from_email,或者最好的方法是在 url 本身中设置来自电子邮件 PasswordResetView.as_view(from_email="example@example.com")

标签: django sendgrid django-rest-auth


【解决方案1】:

这不是错误,而是在 Django 中特意实现的。 Django 维护一个名为 DEFAULT_FROM_EMAIL 的 settings.py 参数,如果您提到的 from_email 为 None(在 EmailMessage 类构造中),则默认应用该参数。 请注意,邮件本身是由 PasswordResetForm 类(forms.py)发送的,只有当收据是活动用户时才会发送出去(在 get_users 函数中实现)。

【讨论】:

    猜你喜欢
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    相关资源
    最近更新 更多