【问题标题】:Django Rest Framework Send verification emailDjango Rest Framework 发送验证邮件
【发布时间】:2017-07-23 05:37:48
【问题描述】:

有什么方法可以发送验证邮件。当用户通过 drf(Django Rest 框架)注册时。我的User 模型中有这段代码:

from django.core.mail import send_mail
from config import settings

def email_user(self, subject, message, from_email=settings.DEFAULT_FROM_EMAIL, **kwargs):        
    send_mail(subject, message, from_email, [self.email], fail_silently=False, **kwargs)

在我的settings.py:

EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = '`132312123'
EMAIL_HOST_USER = 'mimic@gmail.com'
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

但是邮件没有发送,我也想验证邮件服务,所以当用户点击链接时会被激活。如何完成这些?

【问题讨论】:

    标签: python django rest email django-rest-framework


    【解决方案1】:

    如果你看here

    控制台后端

    控制台后端不会发送真正的电子邮件,而是只写 将发送到标准输出的电子邮件。默认情况下, 控制台后端写入标准输出。您可以使用不同的流式 通过在构造对象时提供流关键字参数 连接。

    还有:

    此后端不适用于生产 - 它提供为 可以在开发过程中使用的便利。

    试试这个:

    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    

    【讨论】:

    • 好答案!我还建议查看异步发送的电子邮件后端,这样您的用户就不必等待电子邮件实际发送(这是一个缓慢的过程)。我一直在完美地使用github.com/pinax/django-mailer。它使用数据库,而且设置起来非常简单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 2013-02-17
    • 2014-05-07
    • 2020-09-17
    • 2021-09-09
    • 2017-02-20
    • 2019-01-01
    相关资源
    最近更新 更多