Django allauth不发送任何电子邮件

时间:2019-09-20 04:37:28

标签: django digital-ocean django-allauth

我在django项目中使用django_allauth。但是没有再发送任何电子邮件(确认电子邮件,重设密码)。

它成功创建了一个新用户,出现确认电子邮件已发送的消息,并且还有一个重定向到确认电子邮件页面的消息。但是,我没有在收件箱中收到此电子邮件,也看不到任何错误。

此外,我在其他应用程序中使用了send_email()类的联系人表单,并且可以正常工作。

如果某些变量可能是错误的,我尝试在代码中直接添加一些print()。我也尝试过启用fail_silently

    def send_mail(self, template_prefix, email, context):
        msg = self.render_mail(template_prefix, email, context)
        msg.send(fail_silently=False)

我的应用程序托管在Digital Ocean上。 它在带有nginx / gunicorn的ubuntu上运行

我已经运行了外壳程序以尝试发送一些测试电子邮件,并且我总是收到带有send_email()方法和对象EmailMultiAlternatives.send(),EmailMessage.send()对象的电子邮件。

这是Settings.py

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

# Email identification
EMAIL_HOST = 'myhost'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'myuser'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_USE_SSL = True

DEFAULT_FROM_EMAIL = 'myemail@email.com'

# `allauth` config
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_LOGIN_ATTEMPTS_LIMIT = 5
ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 1
SOCIALACCOUNT_AUTO_SIGNUP = True
LOGIN_REDIRECT_URL = '/' # redirects to homepage. 

1 个答案:

答案 0 :(得分:0)

您需要在Google秒验证系统中为当前的Web开发应用赋予自动删除功能。转到Google第二个应用权限 使用应用密码登录-Google帐户帮助