我如何找出django-allauth为什么不发送确认电子邮件的原因?

Ben*_*voy 5 django amazon-ses django-allauth

我正在使用Django-allauth并通过Amazon SES发送电子邮件。我希望所有帐户都可以在登录之前先验证其电子邮件,但是电子邮件验证发送似乎无声地失败了。我看了一下源代码,在那看到我应该设置DEFAULT_FROM_EMAIL,但是它仍然不起作用。

这是我的配置,以防万一我忘了任何明显的东西。我安装了django-smtp-ssl作为电子邮件后端。您的帮助将不胜感激!

# E-mail

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'
EMAIL_HOST_USER = os.environ['EMAIL_USER']
EMAIL_HOST_PASSWORD = os.environ['EMAIL_PASSWORD']
EMAIL_PORT = 465
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'Verified-email <verified-ses-email@example.com>'

# Auth

ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
SOCIALACCOUNT_EMAIL_VERIFICATION = True
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
Run Code Online (Sandbox Code Playgroud)

Ben*_*voy 1

终于找到了我所缺少的东西。

在我的注册视图中,我又添加了一行:

from allauth.account.utils import complete_signup
from allauth.account import app_settings
# some other code
def signup(request):
    if request.method == 'POST':
        form = UserCreateForm(request.POST)
        if form.is_valid():
            user = form.save(request)
            # Added this!
            complete_signup(request, user,app_settings.EMAIL_VERIFICATION, "/")
            # etc...
Run Code Online (Sandbox Code Playgroud)