我正在将django-allauth与LDAP后端一起使用。
因此,每当用户登录时,邮件地址都将设置为存储在我们目录服务器中的邮件地址。
我可以通过设置禁用电子邮件确认
ACCOUNT_EMAIL_VERIFICATION = "none"
但是现在这些用户的帐户上附加了未经确认的邮件地址。 更具体地说:我正在尝试设置一个包括webUI的mailman 3并将其连接到LDAP。 邮件地址未经确认的用户将导致他们无法使用该地址订阅邮件列表。
我可以以某种方式修改AccountAdapter以便在用户登录时自动确认邮件地址吗?
答案 0 :(得分: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()