【问题标题】:django-rest-auth reset password email contains 'example.com ' domain instead of site_domaindjango-rest-auth 重置密码电子邮件包含“example.com”域而不是 site_domain
【发布时间】:2019-01-23 23:28:59
【问题描述】:

我在我的项目中使用django-rest-auth,并希望自定义重置密码时使用的电子邮件模板。如果我使用用户电子邮件在/rest-auth/password/reset/ 发送 POST 请求,则请求有效,但我收到的电子邮件是:

电子邮件:

from **webmaster@localhost** via ...


...

http://**example.com**/reset/ZGJjNjU2MjAtZjdjNy00MDdjLTkyZDctZDAwZGM2M2IzMmU4/4ys-09e6403c9784bea04986/

...

基本上,我希望域 example 成为项目的域,并且发件人电子邮件是自定义电子邮件。

我看到我可以创建一个/templates/registration/password_reset_email.html 文件并在那里进行更改。我需要更改的行是:

{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
  • 有没有办法在不进行硬编码的情况下通过项目域?
  • 如何将发件人的电子邮件地址更改为自定义的?

【问题讨论】:

    标签: django django-templates django-rest-auth


    【解决方案1】:

    注册使用django-allauth,后者又使用sites 框架来填充电子邮件。您应该浏览到管理站点并修改您的默认site(带有id1 的那个)。

    post installation stepsdjango-allauth

    为您的域添加一个Site,匹配settings.SITE_IDdjango.contrib.sites 应用程序)。

    【讨论】:

    • 请注意,这会更改 URL。要更改“发件人”地址,请在您的 settings.py 中添加如下内容:DEFAULT_FROM_EMAIL = 'My Site '
    猜你喜欢
    • 2011-08-14
    • 2018-05-24
    • 1970-01-01
    • 2019-09-01
    • 2016-08-10
    • 1970-01-01
    • 2019-05-26
    • 2016-04-26
    • 2018-11-02
    相关资源
    最近更新 更多