Настройка Weblate SES email для сброса пароля - PullRequest
0 голосов
/ 13 мая 2019

Я попытался настроить экземпляр Weblate на AWS для отправки электронных писем для сброса пароля.Я выполнил следующие действия:

pip install boto
pip install django-ses
sudo vim /opt/bitnami/apps/django/lib/python3.7/site-packages/Django-2.1.4-py3.7.egg/django/conf/global_settings.py
EMAIL_BACKEND = 'django_ses.SESBackend'
AWS_ACCESS_KEY_ID = 'xxxx'
AWS_SECRET_ACCESS_KEY = 'xxx'

Однако он все еще не работает должным образом, и я не получаю никаких ошибок.мой ключ AWS имеет полное разрешение для SES.

Обновление:

Если я запускаю send_mail из ./manage.py shell, я получаю следующие выходные данные:

>>> send_mail('Subject here', 'Here is the message.', 'xx@gmail.com',['xx@gmail.com'], fail_silently=False)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/opt/bitnami/apps/weblate/venv/lib/python3.7/site-packages/django/core/mail/__init__.py", line 60, in send_mail
    return mail.send()
  File "/opt/bitnami/apps/weblate/venv/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/opt/bitnami/apps/weblate/venv/lib/python3.7/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
    new_conn_created = self.open()
  File "/opt/bitnami/apps/weblate/venv/lib/python3.7/site-packages/django/core/mail/backends/smtp.py", line 63, in open
    self.connection = self.connection_class(self.host, self.port, **connection_params)
  File "/opt/bitnami/python/lib/python3.7/smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "/opt/bitnami/python/lib/python3.7/smtplib.py", line 336, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/opt/bitnami/python/lib/python3.7/smtplib.py", line 307, in _get_socket
    self.source_address)
  File "/opt/bitnami/python/lib/python3.7/socket.py", line 727, in create_connection
    raise err
  File "/opt/bitnami/python/lib/python3.7/socket.py", line 716, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

1 Ответ

0 голосов
/ 16 мая 2019

Вы редактируете настройки Django по умолчанию, что является странным способом изменить конфигурацию, но кажется, что Bitnami рекомендует этот подход. Кажется, этот параметр не применяется должным образом, поскольку команда тестирования по-прежнему использует SMTP-сервер по умолчанию.

Что нужно проверить:

  • действительно применяется: ./manage.py shell -c 'from django.conf import settings; print(settings.EMAIL_BACKEND)'
  • был django-ses установлен в систему? лучше запустить установку как root sudo pip install django-ses
  • Вы не смешиваете среды Python 2 и Python 3 (не знаете, как это делается в изображениях Bitnami)
...