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')