【问题标题】:Django Zoho SMTPAuthenticationError (535, b'Authentication Failed')Django Zoho SMTPAuthenticationError(535,b'身份验证失败')
【发布时间】:2021-07-30 19:59:57
【问题描述】:

我正在使用 Django 的电子邮件后端发送帐户验证电子邮件。这是我的设置的样子:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.zoho.in'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'someone@example.com'
DEFAULT_FROM_EMAIL = 'someone@example.com'
EMAIL_HOST_PASSWORD = 'somepassword'
EMAIL_USE_TLS = True

这个配置一直运行良好,直到几个小时前它突然停止工作,抛出这个错误:

Traceback (most recent call last):
  File "/home/ubuntu/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/rest_framework/viewsets.py", line 125, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/home/ubuntu/venv/lib/python3.8/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/rest_framework/mixins.py", line 19, in create
    self.perform_create(serializer)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/djoser/views.py", line 144, in perform_create
    settings.EMAIL.activation(self.request, context).send(to)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/templated_mail/mail.py", line 78, in send
    super(BaseEmailMessage, self).send(*args, **kwargs)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/django/core/mail/message.py", line 284, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/home/ubuntu/venv/lib/python3.8/site-packages/django/core/mail/backends/smtp.py", line 102, in send_messages
    new_conn_created = self.open()
  File "/home/ubuntu/venv/lib/python3.8/site-packages/django/core/mail/backends/smtp.py", line 69, in open
    self.connection.login(self.username, self.password)
  File "/usr/lib/python3.8/smtplib.py", line 734, in login
    raise last_exception
  File "/usr/lib/python3.8/smtplib.py", line 723, in login
    (code, resp) = self.auth(
  File "/usr/lib/python3.8/smtplib.py", line 646, in auth
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'Authentication Failed')

我不确定是什么触发了错误,但现在它也不适用于其他主机帐户。我没有更改任何内容,我的 Zoho 帐户的 2FA 也没有激活。它停止工作的原因可能是什么?

【问题讨论】:

    标签: django smtp djoser


    【解决方案1】:

    刚刚改了这一行

    EMAIL_HOST = 'smtp.zoho.in'
    

    到这一行

    EMAIL_HOST = 'smtp.zoho.com'
    

    这仍然不能解决您的问题,因为这意味着您已在您的 zoho 帐户中启用了两因素身份验证。所以请关闭它或者只是在 zoho 帐户中生成应用程序生成的密码并在您的代码中使用它。

    【讨论】:

    • 它们都没有工作,我认为这是 Zoho 的服务器出现错误,因为它在第二天没有任何变化就工作了。
    • 好的,但总的来说,这会解决问题,因为我遇到了同样的问题并通过使用这个技巧解决了它。
    • 将其更改为 smtp.zoho.com 并不总是有帮助,这似乎取决于注册的位置。如果您在印度 zoho 域中注册,then smtp.zoho.com 可能无济于事。
    猜你喜欢
    • 2018-02-08
    • 2014-11-02
    • 2015-04-12
    • 2011-10-11
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    相关资源
    最近更新 更多