Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver

Привет! У меня возникла странная проблема: я настроил всё согласно руководству, и всё работает отлично! Однако что-то пошло не так с исходящей почтой, и я думал, что это не должно быть затронуто. Sidekiq выдаёт следующую ошибку для каждой попытки отправки письма (все они застряли в списке «Retries») после включения mail-receiver:

Jobs::HandledExceptionWrapper: Wrapped OpenSSL::SSL::SSLError: SSL_read: unexpected eof while reading

Мои поиски заставляют предположить, что это как-то связано с TLS. Я раскомментировал строки, связанные с TLS, в файле .yml, но повторное закомментирование не исправило проблему. Я попробовал инструкции из руководства по разрешению конфликтов Postfix, но, похоже, у меня нет Postfix? (Директория /etc/postfix из руководства отсутствует на моём экземпляре, и служба postfix не распознаётся.) И согласно результатам netstat, порт 25 использует только docker-proxy.

Мы используем Gmail в качестве исходящего SMTP-сервиса, и фактически мы использовали Gmail для входящей проверки POP3 до этого. Я удалил множество MX-записей, указывающих на Google, но в руководстве сказано было сделать именно это.

Вот мой файл mail-receiver.yml, разумеется, с определёнными данными, закрашенными:

## это шаблон контейнера для входящей почты
##
## После внесения изменений в этот файл вы ОБЯЗАТЕЛЬНО должны выполнить
## /var/discourse/launcher rebuild mail-receiver
##
## БУДЬТЕ *ОЧЕНЬ* ОСТОРОЖНЫ ПРИ РЕДАКТИРОВАНИИ!
## YAML-ФАЙЛЫ ЧРЕЗВЫЧАЙНО ЧУВСТВИТЕЛЬНЫ К ОШИБКАМ В ПРОБЕЛАХ И ВЫРАВНИВАНИИ!
## посетите http://www.yamllint.com/, чтобы при необходимости проверить этот файл

base_image: discourse/mail-receiver:release
update_pups: false

expose:
  - "25:25"   # SMTP

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8

  ## Куда должна отправляться почта на ваш форум. В целом, вполне допустимо
  ## использовать здесь тот же домен, что и сам форум.
  MAIL_DOMAIN: discourse.[mydomain].org
# раскомментируйте эти строки (и объём ниже!), чтобы включить поддержку TLS
  POSTCONF_smtpd_tls_key_file:  /letsencrypt/discourse.[mydomain].org/discourse.[mydomain].org.key
  POSTCONF_smtpd_tls_cert_file:  /letsencrypt/discourse.[mydomain].org/fullchain.cer
  POSTCONF_smtpd_tls_security_level: may


  ## Базовый URL для этого экземпляра Discourse.
  ## Это будет URL вашего сайта Discourse. Например,
  ## https://discourse.example.com. Если вы используете настройку с подпапкой,
  ## обязательно учтите это (например, https://example.com/forum).
DISCOURSE_BASE_URL: 'https://discourse.[mydomain].org'

  ## Главный API-ключ вашего форума Discourse. Его можно получить
  ## на вкладке «API» в панели администратора.
  DISCOURSE_API_KEY: [myapikey]

  ## Имя пользователя, используемое для обработки входящей почты. Если вы
  ## не переименовывали пользователя `system`, оставьте это значение без изменений.
  DISCOURSE_API_USERNAME: system

volumes:
  - volume:
      host: /var/discourse/shared/mail-receiver/postfix-spool
      guest: /var/spool/postfix
# раскомментируйте для поддержки TLS
  - volume:
      host: /var/discourse/shared/standalone/letsencrypt
      guest: /letsencrypt

Технологии работы с почтой немного выходят за рамки моих знаний, поэтому я буду благодарен за любой совет, даже если это просто указание на то, что я упустил что-то очевидное при настройке. Спасибо!

1 лайк