Web2py电子邮件身份验证

时间:2013-05-03 05:11:12

标签: web2py

我已将Web2py设置为在注册时发送电子邮件验证,并且在使用以下设置进行验证之前不允许登录:

mail=auth.settings.mailer 

mail.settings.server = 'smtp.gmail.com:587' 
mail.settings.sender = 'my_email_address@gmail.com' 
mail.settings.tls=True
mail.settings.login = 'my_email_address@gmail.com:my_gmail_password'


auth.settings.registration_requires_verification = True
auth.settings.registration_requires_approval = False
auth.settings.login_after_registration = False

正在发送电子邮件以重置密码,但不会进行注册。它也允许登录。

我不知道为什么?

这是我的注册表格代码:

def register():

    form = SQLFORM(db.auth_user)
    form.element('table').insert(-1,(T('Please confirm that you are not a machine :'),Recaptcha(request, PUBLIC_KEY, PRIVATE_KEY, options="theme:'white'"),''))
    if form.process(onvalidation=lola).accepted:
        session.flash = 'record inserted'
        make_thumb(db.auth_user, form.vars.id,(250,250))
        redirect(URL('login'))
    return dict(form=form)

1 个答案:

答案 0 :(得分:3)

如果您想要一些额外的注册功能,例如电子邮件验证,则需要使用内置的auth.register()功能:

def register():
    return dict(form=auth.register())

如果您需要在验证和表单接受上运行回调函数,可以使用auth.settings.register_onvalidationauth.settings.register_onaccept指定它们。