Несоответствие имени хоста сертификата электронной почты вызывает перегрузку очереди Sidekiq и серьезные сбои в работе сайта

Это может помочь найти правильный:

dig +short smtp.mydomain.info|xargs -n 1 nslookup|grep name=

К сожалению, это не работает, ошибка та же:
SSL_connect returned=1 errno=0 state=error: certificate verify failed (Hostname mismatch)

В версии 2.9.0.beta4 (0acbd63320) всё работало. Можно ли откатиться?

Я создал новый временный аккаунт электронной почты с поддержкой STARTTLS. Надеюсь, проблема будет исправлена до выпуска 2.9.0.beta5.

Я последовал совету выше и установил имя хоста в соответствии с именем в сертификате.

Стоит отметить, что в данном случае проблема, похоже, возникла только после пересборки, инициированной лаунчером, а не просто при обновлении. Возможно, дело в скриптах лаунчера?

Не могли бы вы рассказать, как вы это сделали?
Я уже схожу с ума, не могу использовать SMTP-сервер с портами 25 или 587 без SSL и TLS.

Спасибо

Тогда я, возможно, не смогу вам помочь, так как моя конфигурация не требует TLS. Думаю, единственный выход — либо использовать стороннего поставщика электронной почты с валидными сертификатами, либо дождаться исправления, которое позволит обойти эту проблему.

Вы пробовали команду dig Ричарда, чтобы найти имя хоста для вашего SMTP-сервера, для которого у него есть сертификат?

У меня тоже нет TLS и SSL :slight_smile:

Аналогичная проблема здесь: Can't Send Emails - #14 by sukria.
Не изменилось ли что-то в базовом образе или во внешней библиотеке/gem-пакете?

Да, всё верно, это та же проблема… Она началась примерно две недели назад.

Можете попробовать оба варианта

DISCOURSE_SMTP_ENABLE_START_TLS: false 
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none

?

Я пробовал первые варианты, но ошибка остаётся прежней:

SSL_connect returned=1 errno=0 state=error: certificate verify failed (Hostname mismatch)

Привет, я попробовал оба варианта. Это всё ещё не работает:

  DISCOURSE_SMTP_ADDRESS: REDACTED
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_USER_NAME: REDACTED
  DISCOURSE_SMTP_PASSWORD: REDACTED
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (опционально, по умолчанию true)
  DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
  DISCOURSE_SMTP_AUTHENTICATION: "login"

Я всё ещё получаю ошибку certificate verify failed (self signed certificate).

Для меня это было блокирующей ошибкой уже долгое время…
Рекомендую вам создать новый временный адрес электронной почты с поддержкой SMTP TLS.

Это может быть связано с этим гемом

У меня точно такая же проблема. Всё началось вчера, когда я обновился (через пересборку) до версии 2.9.0.beta4 (a5779a7d0b). Я НЕ вносил никаких изменений в app.yml или что-либо ещё. Только пересборка.

Теперь у меня более 1300 неудачных задач.

В логах я вижу ошибки SSL (скриншоты ниже) и задаюсь вопросом: не игнорирует ли пересборка вдруг флаг DISCOURSE_SMTP_ENABLE_START_TLS?

Вот что у меня «всегда» было в файле app.yml: (опять же, никаких изменений не вносилось)

  DISCOURSE_SMTP_ADDRESS: 172.17.0.1
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_AUTHENTICATION: none
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (опционально, по умолчанию true)

РЕДАКТИРОВАНО: Вот что я вижу в почтовых логах хоста (почтового сервера). Сообщения об ошибках появились впервые сразу после пересборки.

Последнее сообщение, касающееся Discourse, в почтовых логах до пересборки:

May 23 17:16:02 localhost postfix/smtpd[5247]: connect from discourse-docker[172.17.0.2]
May 23 17:16:02 localhost postfix/smtpd[5247]: 0D803B67FB: client=discourse-docker[172.17.0.2]
May 23 17:16:02 localhost postfix/cleanup[5279]: 0D803B67FB: message-id=<topic/421230/2413438.f609f9d756c226a154de43f4@forums.jag-lovers.com>
May 23 17:16:02 localhost postfix/smtpd[5247]: disconnect from discourse-docker[172.17.0.2] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5

Первая запись в почтовых логах сервера после пересборки:

May 23 17:22:48 localhost postfix/smtpd[10929]: connect from discourse-docker[172.17.0.2]
May 23 17:22:48 localhost postfix/smtpd[10929]: SSL_accept error from discourse-docker[172.17.0.2]: -1
May 23 17:22:48 localhost postfix/smtpd[10929]: warning: TLS library problem: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:../ssl/record/rec_layer_s3.c:1528:SSL alert number 42:
May 23 17:22:48 localhost postfix/smtpd[10929]: lost connection after STARTTLS from discourse-docker[172.17.0.2]
May 23 17:22:48 localhost postfix/smtpd[10929]: disconnect from discourse-docker[172.17.0.2] ehlo=1 starttls=0/1 commands=1/2

После этого момента все записи, касающиеся Discourse в почтовых логах, выглядят именно так.

Скриншоты:

Я пытался отправить сообщение из контейнера Docker Discourse с помощью curl. После того как я указал SMTP в открытом виде и порт 25, отправка почты через хост-машину работает без проблем:

$ cd /var/discourse/
$ sudo ./launcher enter app
x86_64 arch detected.
root@discourse-app:/var/www/discourse# curl smtp://172.17.0.1 --mail-from discourse@mydomain.com --mail-rcpt myname@gmail.com --upload-file README.md
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7077    0     0  100  7077      0   575k --:--:-- --:--:-- --:--:--  575k
root@discourse-app:/var/www/discourse#

А вот так выглядел этот тест в логах почты на хосте:

May 24 16:53:49 localhost postfix/smtpd[25494]: connect from discourse-docker[172.17.0.2]
May 24 16:53:49 localhost postfix/smtpd[25494]: EB62CB5FCD: client=discourse-docker[172.17.0.2]
May 24 16:53:49 localhost postfix/cleanup[26008]: EB62CB5FCD: message-id=<>
May 24 16:53:49 localhost opendkim[1365]: EB62CB5FCD: can't determine message sender; accepting
May 24 16:53:49 localhost postfix/smtpd[25494]: disconnect from discourse-docker[172.17.0.2] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5

Учитывая, что в моём app.yml не указан TLS и указан порт 25, и что всё работало до пересборки вчера, всё больше похоже на то, что последняя версия Discourse игнорирует мою SMTP-конфигурацию в app.yml.

Напоминаю, @pfaffman и/или @codinghorror.

Как думаете, у нас тут баг или что-то другое?

@gunnar Я перенёс ваш пост сюда, так как здесь обсуждается проблема с электронной почтой, которую вы описываете.
Я не уверен, что ошибка «сообщение уже занято» также вызвана этим, но детали, которые вы предоставили о своей электронной почте, относятся к этой проблеме.

Мне кажется абсурдным, что спустя 30 дней эта проблема всё ещё не решена…
Мне пришлось сменить провайдера электронной почты, чтобы мой форум снова заработал.

Это расстраивает, но, судя по всему, какой-то gem больше не поддерживает игнорирование недействительных сертификатов и/или незашифрованного транспорта. Возможно, дни, когда можно было отправлять почту таким образом, уже прошли. Однако я сам не сталкиваюсь с этой проблемой, поэтому не изучал её достаточно внимательно, чтобы точно знать, прав ли я.