【问题标题】:Django Rest Framework: Rest-auth email verification - Server Error 500Django Rest Framework:Rest-auth 电子邮件验证 - 服务器错误 500
【发布时间】:2021-02-10 18:51:27
【问题描述】:

我正在尝试使用 rest-auth 在 Django Rest Framework 上启用电子邮件验证。

当我使用 console.Backend 时它可以工作,但是当我通过 smtp 启用真实电子邮件时,它在注册后给我一个服务器错误 500。我使用与我的 node.js 邮件服务器相同的 smtp 设置,它运行良好,所以我确信 smtp 设置是正确的。

有人知道是什么原因造成的吗?我不确定其他代码对此负责,如果我需要提供其他内容,请告诉我。

以下是相关设置:

REST_SESSION_LOGIN = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 3

ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USER_MODEL_USERNAME_FIELD = None

LOGOUT_ON_PASSWORD_CHANGE = False
OLD_PASSWORD_FIELD_ENABLED = False

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
        'OPTIONS': {
            'min_length': 6,
        }
    },
]

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'mail.zxcs.nl'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'info@xxxxx.nl'
EMAIL_HOST_PASSWORD = 'xxxxxxxxxxxxxx'
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False

AUTH_USER_MODEL = 'users.CustomUser'
REST_AUTH_REGISTER_SERIALIZERS = {
    'REGISTER_SERIALIZER': 'users.serializers.CustomRegisterSerializer',
}

【问题讨论】:

    标签: django django-rest-framework smtp django-rest-auth


    【解决方案1】:

    端口 465 似乎是 SSL,而不是 TLS,因此发生了变化

    EMAIL_USE_TLS = True
    EMAIL_USE_SSL = False
    

    EMAIL_USE_TLS = False
    EMAIL_USE_SSL = True
    

    修复它:)

    【讨论】:

      猜你喜欢
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      • 2017-09-20
      • 2020-02-28
      • 2017-02-01
      • 2019-04-17
      • 2021-01-30
      相关资源
      最近更新 更多