Below works for me:
steps I followed. Your context may differ and customize accordingly.
1) define a db model with the fields you want; I wanted all emails to be 
stored too, so I defined this model
2) define two functions - a contact fn that gets called from template; the 
contact fn itself calls another fn to send email; in the template you can 
validate the fields like valid email id etc.
3) This is for sending emails from admin email; customization is needed if 
otherwise


Here is the code:

def contact(): 
form = crud.create(db.contact_emails, 
onaccept=_send_email, 
next = URL('index'), 
message=T("Thank you for your message"))
return dict(form=form)

def _send_email(form):
#called from successful accept of contact form
#form is sent as a first argument
mail=Mail()
mail.settings.server='gae'
mail.settings.sender="x...@gmail.com" #This must be the email address of a 
registered
                                       #administrator for the application
mail.settings.login = None
mail.send(to='xx...@gmail.com', subject='[123-Check] Contact', 
    message=form.vars.body)

return 

Reply via email to