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:\Python25\lib\site-packages\registration\models.py in create_inactive_user, line 95 Python Executable: C:\Python25\python.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.
#