Yes, basic emailing is working, and I do have that code in my db.py file. So if I do mail.send('email', 'title', 'body') it works. The reason I had so much trouble with this was because I set up my app using the wizard. The wizard created another file called 0.py (great name) that was overwriting my mail.settings variables (great design decision). Anyways, after two days of banging my head against the desk I finally got emailing to work but now I can't get automated emailing upon user registration to work. Any suggestions?
On Friday, November 23, 2012 5:54:49 PM UTC, Massimo Di Pierro wrote: > > To send emails you need to connect an SMTP server. For example, to send > emails using your google mail account > > mail = auth.settings.mailer > mail.settings.server = 'smtp.gmail.com:587' > mail.settings.sender = 'y...@gmail.com <javascript:>' > mail.settings.login = 'y...@gmail.com:password' > > Do you have similar code? > > On Friday, 23 November 2012 09:26:57 UTC-6, Daniele wrote: >> >> 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! >> > --