Ошибка при регистрации и авторизации на проде. Подскажите, где искать причину

Суть: некорректно работает функционал регистрции и авторизации. Когда я регистрирую нового пользователя, которого нет в базе данных, сайт пишет мне, что пользователь с такой почтой уже существует и при этом его создает только в этот момент, но не высылает подтверждение регистрации. В таких случаях при авторизации должна выскочить ошибка о том, что регистрация не подтверждена и сайт должен еще раз высылать письмо с подтверждением регистрации. А сейчас при авторизации такого пользователя сайт виснет на несколько секунд и выскакивает ошибка InternalServerError.

При этом, думается мне, что дело вовсе не в почте (но, может, я ошибаюсь?) по двум причинам:

Первая - программа отлавливает SMTP-исключения и записывает их в текстовый файл следующим образом:

class RegisterUser(CreateView):
    form_class = RegisterUserForm
    template_name = 'sender/forms/registration.html'    

    def post(self, request, *args, **kwargs):
        form = self.get_form()
    
        if form.is_valid():
            form.save()
            email = form.cleaned_data.get('email')
            password = form.cleaned_data.get('password1')
            user = authenticate(email=email, password=password)
    
            try:
                custom_send_mail.verify(request, user)
    
                for perm in self.user_permissions:
                    user.user_permissions.add(self.get_perm(codename=perm['act'], app_label=perm['app'], model=perm['mod']).pk)
    
            except SMTPException as e:
                os.system(f'echo {timezone.now()}, {e} >> register_errors.txt')
    
                return redirect('sender:some_error')
    
            else:
                return redirect('sender:confirm_email')

        context = {'form': form}

        return render(request, self.template_name, context)

НО! Файла register_errors.txt нет.

Вторая причина - это то, что на локальной машине все работает корректно с той же почтой!

Почта находится на Яндекс360, из настроек пока только SPF-запись не прошла проверку, жду.

Сайт находится на виртуальном сервере на Ubuntu 24.04.2 LTS с Django 5.0, Gunicorn + Nginx

Подскажите,пожалуйста, где еще можно смотреть возможные ошибки и искать причину?

Как оказалось, замечательный регру втихую блокирует 465 порт яндекса, чтобы с сервера не отправлялись массовые спамные рассылки. И тогда отправка любых автоматических сообщений с сайта оказывается невозможной.

Проверить и обнаружить это можно с помощью 2 команд:

проверка коннекта с почтовым сервером яндекса ping smtp.yandex.ru

и команда-аналог запроса отправки сообщения telnet smtp.yandex.ru 465

Вывод при такой блокировке - см. скриншот ниже

Вернуться на верх