Я хотел бы отправить электронное письмо из представления django. Я получил его для работы на моей локальной машине с сервером разработки django со следующими настройками:
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
У моего представления есть
from django.core.mail import send_mail
def my_view(request):
send_mail('subject','body','[email protected]',['[email protected]'],fail_silently=False)
return render(request, 'index.html')
Когда я запускаю send_mail() из оболочки manage.py на моем рабочем сервере, письмо успешно отправляется. Однако, когда представление вызывается в процессе производства (nginx + uwsgi + django), отправление электронной почты не отправляется, хотя представление работает без ошибок и возвращает ожидаемый ответ. Я не вижу ошибки в error.log.
Пожалуйста, помогите мне установить правильные разрешения и конфигурации для nginx, чтобы это сработало.
ПРИМЕЧАНИЕ. Этот вопрос похож на Send_mail в Django, работает в оболочке, работает локально, а не на вид, который не был разрешен.
EDIT: Когда я делаю
sudo -u www-data python manage.py shell
для запуска в качестве пользователя nginx, я все равно могу успешно отправить почту, что еще больше смущает меня.