1 2 3 4 5 6 7 8 9 10 11 12 | if send_email: current_domain = Site.objects.get_current().domain subject = "Activate your new account at %s" % current_domain message_template = loader.get_template('registration/activation_email.txt') message_context = Context({ 'site_url': 'http://%s/' % current_domain, 'activation_key': activation_key, 'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS }) message = message_template.render(message_context) ga = libgmail.GmailAccount(settings.GMAIL_USERNAME, settings.GMAIL_PASSWORD) ga.login() msg = libgmail.GmailComposedMessage(to=new_user.email, subject=subject, body=message) ga.sendMessage(msg) |
Comments
some problems
NameError at /accounts/register/ global name 'activation_key' is not defined
Request Method: POST Request URL: http://www.atschool.com.cn:8000/accounts/register/ Exception Type: NameError Exception Value: global name 'activation_key' is not defined Exception Location: C:Python25libsite-packagesregistrationmodels.py in create_inactive_user, line 95 Python Executable: C:Python25python.exe Python Version: 2.5.1
#
Why is it neccessary to use libgmail? You could just activate the POP access to the gmail account and use the official SMTP server of googlemail.
Look at: http://www.djangoproject.com/documentation/email/
#
I am going to save everyone a lot of heart ache here. Add these lines and that error will go away:
in create_inactive_user(...)
salt = sha.new(str(random.random())).hexdigest()[:5] activation_key = sha.new(salt+new_user.username).hexdigest()
and change profile_callback to this: if profile_callback is not None: profile_callback(user=new_user, activiation_key=activiation_key)
#
oliver.andrich is right.
#