Django ошибка 500 при отправке письма с сайта через Gmail
Все настройки сделаны верно, как рекомендует сам Gmail (С двухэтапной авторизацией и паролями для приложений). С localhost письма отправляются отлично, даже когда ставишь DEBUG = False. Но на залитом на сервак проекте выскакивает 500 ошибка. До "изменений конца Мая 2022" всё работало. Логи Gunicorn и Nginx ничего Мне не показали.
Я нашёл ответ на этот вопрос Сам.
Проблема заключалась в распознании домена, а именно ссылки на него. SITE_ID = 1
в settings.py
, означает, что в таблице django_site id этой записи будет равен 1.
Беда получится, если вы удалите запись с id=1
через админскую панель на своём же проекте. Поскольку id там SERIALKEY, то следующий будет 2, и так далее. Вы можете сразу и не разобраться, какой id теперь у вашего доменного имени в таблице и чему должен быть равен SITE_ID. Мой id в базе на сервере был уже = 3, а в настройках стоял по прежнему SITE_ID = 1
. Ведь таблицы на localhost и серваке разные, и подвергались разным манипуляциям. Короче, оставил SITE_ID = 1, а через БД-клиента поменял значение id на 1. Так не совсем правильно делать, ну да ладно.
Всё заработало.
Доменное имя можно проверить print(get_current_site(request))