SMTPConnectError at [url] : (421, b'Server busy, too many connections') - Django email

У меня есть простой метод (send_activation_email), вызываемый из представления, которое обрабатывает регистрацию пользователя, расширяя стандартный django user auth. Он отправляет письмо с активацией. Теперь я получаю ошибку:

SMTPConnectError at /accounts/register/ - (421, b'Server busy, too много соединений')

реализация метода:

def send_activation_email(user, request):
    current_site = get_current_site(request)
    subject = 'Activate your membership Account'

    message = render_to_string('accounts/account_activation_email.html',{
        'user': user,
        'domain': current_site.domain,
        'uid': urlsafe_base64_encode(force_bytes(user.pk)),
        'token': account_activation_token.make_token(user),
    })

    html_message = get_template('accounts/account_activation_html_email.html').render({
        'user': user,
        'domain': current_site.domain,
        'uid': urlsafe_base64_encode(force_bytes(user.pk)),
        'token': account_activation_token.make_token(user),
    })
    
    send_mail(subject=subject,
                  message=message,
                  from_email= None,
                  recipient_list=[user.email],
                  html_message= html_message
                      #,fail_silently=False                      
                    )

Я никогда не сталкивался с этой проблемой раньше и не нашел никаких полезных ответов, ища их здесь. Очевидно, что это связано с SMTP, но дело в том, что у меня была такая же ошибка при попытке разных провайдеров: sengrid, zoho, outlook. И определенно, письмо проходит через консоль.

Журналы:

Internal Server Error: /accounts/register/
Traceback (most recent call last):
  File "C:\Users\[**]\membership\myEnv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "C:\Users\[**]\membership\myEnv\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\[**]\membership\accounts\views.py", line 70, in register
    send_activation_email(user, request)
  File "C:\Users\[**]\membership\accounts\views.py", line 217, in send_activation_email    send_mail(subject=subject,
  File "C:\Users\[**]\membership\myEnv\lib\site-packages\django\core\mail\__init__.py", line 61, in send_mail
    return mail.send()
  File "C:\Users\[**]\membership\myEnv\lib\site-packages\django\core\mail\message.py", 
line 284, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "C:\Users\[**]\membership\myEnv\lib\site-packages\django\core\mail\backends\smtp.py", line 102, in send_messages
    new_conn_created = self.open()
  File "C:\Users\[**]\membership\myEnv\lib\site-packages\django\core\mail\backends\smtp.py", line 62, in open
    self.connection = self.connection_class(self.host, self.port, **connection_params)
  File "C:\Program Files\Python310\lib\smtplib.py", line 258, in __init__
    raise SMTPConnectError(code, msg)
smtplib.SMTPConnectError: (421, b'Server busy, too many connections')

Я буду глубоко признателен за любую помощь, которую смогу получить. Даже если речь идет о том, где искать. Спасибо И да, почтовый конфиг: где-то в settings.py -

EMAIL_HOST = 'smtp.zoho.com'
EMAIL_HOST_USER = env('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = env('EMAIL_HOST_PASSWORD')
EMAIL_PORT = 587
EMAIL_USE_TLS = True

DEFAULT_FROM_EMAIL = env('EMAIL_HOST_USER')
Вернуться на верх