我在测试帐户注册表单时遇到此错误。我正在使用django-registration包。我有所有必要的模板文件。我正在使用WebFaction进行托管。我是Django和Python的初学者。请跟我说说我五岁。
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')
答案 0 :(得分:3)
您需要将SMTP服务器设置添加到settings.py
文件中。例如:
EMAIL_HOST = 'smtp.example.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = 'mailer@example.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_USE_TLS = True
来自Django documentation:
使用EMAIL_HOST和EMAIL_PORT设置中指定的SMTP主机和端口发送邮件。 EMAIL_HOST_USER和EMAIL_HOST_PASSWORD设置(如果已设置)用于向SMTP服务器进行身份验证,EMAIL_USE_TLS设置控制是否使用安全连接。
答案 1 :(得分:-1)
为您已用作 EMAIL_HOST 的gmail帐户设置允许lesssecureapps 开启 从这里 https://myaccount.google.com/lesssecureapps 以及settings.py中的此设置
EMAIL_HOST = 'smtp.example.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = 'mailer@example.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_USE_TLS = True