Hello all,
I'm wondering why I cannot get the email upon registration to work. I've
finally gotten basic emailing to work, but it doesn't seem to send anything
automatically upon user registration.
Here's my db.py file:
from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
crud, service, plugins = Crud(db), Service(), PluginManager()
## Auth
db.define_table(
auth.settings.table_user_name,
Field <http://127.0.0.1:8000/examples/global/vars/Field>('email',
length=128, default=''),
Field <http://127.0.0.1:8000/examples/global/vars/Field>('password',
'password', length=512, readable=False),
Field <http://127.0.0.1:8000/examples/global/vars/Field>('password_verify',
'password', length=512, readable=False),
Field
<http://127.0.0.1:8000/examples/global/vars/Field>('registration_time',
'datetime', requires=IS_DATETIME
<http://127.0.0.1:8000/examples/global/vars/IS_DATETIME>(), writable=False,
readable=False, default=request
<http://127.0.0.1:8000/examples/global/vars/request>.utcnow),
Field
<http://127.0.0.1:8000/examples/global/vars/Field>('registration_key',
length=512, writable=False, readable=False, default=''),
Field <http://127.0.0.1:8000/examples/global/vars/Field>('registration_id',
length=512, writable=False, readable=False, default='')
)
custom_auth_table = db[auth.settings.table_user_name]
custom_auth_table.email.requires = [
IS_NOT_EMPTY
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_EMPTY>(error_message='Please
input an email address'),
IS_EMAIL
<http://127.0.0.1:8000/examples/global/vars/IS_EMAIL>(error_message=auth.messages.invalid_email),
IS_NOT_IN_DB
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_IN_DB>(db,
custom_auth_table.email)]
custom_auth_table.password.requires = [
IS_NOT_EMPTY
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_EMPTY>(error_message='Please
type a password'),
IS_STRONG <http://127.0.0.1:8000/examples/global/vars/IS_STRONG>(min=8,
special=0, upper=1),
CRYPT <http://127.0.0.1:8000/examples/global/vars/CRYPT>()]
custom_auth_table.password_verify.requires = [
IS_NOT_EMPTY
<http://127.0.0.1:8000/examples/global/vars/IS_NOT_EMPTY>(error_message='Please
retype your password'),
IS_EQUAL_TO
<http://127.0.0.1:8000/examples/global/vars/IS_EQUAL_TO>(request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.password,
error_message='Passwords do not match'),
CRYPT <http://127.0.0.1:8000/examples/global/vars/CRYPT>()]
auth.settings.table_user = custom_auth_table # tell auth to use
custom_auth_table
## create all tables needed by auth if not custom tables
auth.define_tables(username=False, signature=False)
# configure auth settings
auth.settings.long_expiration = 3600*24*30 # one month
auth.settings.remember_me_form = True
## configure auth policy
auth.settings.registration_requires_verification = True
auth.settings.login_after_registration = True
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True
auth.messages.verify_email = 'Click on the link http://' + \
request <http://127.0.0.1:8000/examples/global/vars/request>.env.http_host
+ \
URL <http://127.0.0.1:8000/examples/global/vars/URL>(r=request
<http://127.0.0.1:8000/examples/global/vars/request>,f='user',args=['verify_email'])
+ \
'/%(key)s to verify your email'
auth.messages.reset_password = 'Click on the link http://' + \
request <http://127.0.0.1:8000/examples/global/vars/request>.env.http_host
+ \
URL <http://127.0.0.1:8000/examples/global/vars/URL>(r=request
<http://127.0.0.1:8000/examples/global/vars/request>,f='user',args=['reset_password'])
+ \
'/%(key)s to reset your password'
auth.settings.register_next = URL
<http://127.0.0.1:8000/examples/global/vars/URL>('dashboard')
auth.settings.login_url = URL
<http://127.0.0.1:8000/examples/global/vars/URL>('login')
auth.settings.login_next = URL
<http://127.0.0.1:8000/examples/global/vars/URL>('dashboard')
auth.settings.logout_next = URL
<http://127.0.0.1:8000/examples/global/vars/URL>('index')
Any help would be greatly appreciated!
--