以下の設定で、登録時に電子メール検証を送信し、検証されるまでログオンを許可しないように 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)