1

我将 django-allauth 与 LDAP 后端一起使用。

因此,每当用户登录时,邮件地址都会设置为存储在我们目录服务器中的邮件地址。

我可以通过设置禁用电子邮件确认

ACCOUNT_EMAIL_VERIFICATION = "none"

但是现在这些用户的帐户附加了一个未经确认的邮件地址。更具体地说:我正在尝试设置一个包含 webUI 的 mailman 3 并将其连接到 LDAP。未确认邮件地址的用户会导致他们无法使用该地址订阅邮件列表。

我可以以某种方式修改 AccountAdapter 以在用户登录时自动确认邮件地址吗?

4

1 回答 1

0

我也遇到了同样的问题,Mailman也有。以下 AccountAdapter 为我执行自动确认:

from allauth.account.adapter import DefaultAccountAdapter
from allauth.account.models import EmailAddress
from allauth.account.utils import user_email

class NoNewUsersAccountAdapter(DefaultAccountAdapter):

    def is_open_for_signup(self, request):
        return False

    def login(self, request, user):
        super().login(request, user)
        email, created = EmailAddress.objects.get_or_create(
            user=user,
            email=user_email(user)
        )
        email.verified = True
        email.save()
于 2020-04-17T08:28:11.280 回答