I got this error when I tested the account sign up form. I am using the django-registration package. I have all the necessary template files in place. I am using WebFaction for hosting. I a beginner at Django and Python. Please talk to me like I am five years old.
SMTPAuthenticationError at /accounts/register/<br>
(535, '5.7.0 Error: authentication failed: authentication failure')
Environment:
Request Method: POST
Request URL: mywebsite.com/accounts/register/
Django Version: 1.4.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.admin',
'django.contrib.admindocs',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.humanize',
'django.contrib.messages',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.staticfiles',
'registration')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "/home/fireflyltd/webapps/foster/lib/python2.7/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "build/bdist.linux-x86_64/egg/registration/views.py" in register
187. new_user = backend.register(request, **form.cleaned_data)
File "build/bdist.linux-x86_64/egg/registration/backends/default/__init__.py" in register
79. password, site)
File "/home/fireflyltd/webapps/foster/lib/python2.7/django/db/transaction.py" in inner
209. return func(*args, **kwargs)
File "build/bdist.linux-x86_64/egg/registration/models.py" in create_inactive_user
85. registration_profile.send_activation_email(site)
File "build/bdist.linux-x86_64/egg/registration/models.py" in send_activation_email
264. self.user.email_user(subject, message, settings.DEFAULT_FROM_EMAIL)
File "/home/fireflyltd/webapps/foster/lib/python2.7/django/contrib/auth/models.py" in email_user
374. send_mail(subject, message, from_email, [self.email])
File "/home/fireflyltd/webapps/foster/lib/python2.7/django/core/mail/__init__.py" in send_mail
61. connection=connection).send()
File "/home/fireflyltd/webapps/foster/lib/python2.7/django/core/mail/message.py" in send
248. return self.get_connection(fail_silently).send_messages([self])
File "/home/fireflyltd/webapps/foster/lib/python2.7/django/core/mail/backends/smtp.py" in send_messages
85. new_conn_created = self.open()
File "/home/fireflyltd/webapps/foster/lib/python2.7/django/core/mail/backends/smtp.py" in open
54. self.connection.login(self.username, self.password)
File "/usr/local/lib/python2.7/smtplib.py" in login
613. raise SMTPAuthenticationError(code, resp)
Exception Type: SMTPAuthenticationError at /accounts/register/
Exception Value: (535, '5.7.0 Error: authentication failed: authentication failure')
You need to add SMTP server settings to your settings.py
file. Example:
EMAIL_HOST = 'smtp.example.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_USE_TLS = True
From Django documentation:
Mail is sent using the SMTP host and port specified in the EMAIL_HOST and EMAIL_PORT settings. The EMAIL_HOST_USER and EMAIL_HOST_PASSWORD settings, if set, are used to authenticate to the SMTP server, and the EMAIL_USE_TLS setting controls whether a secure connection is used.