# Ошибка сертификата на входящем почтовом сервере

**URL:** https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178
**Category:** Self-hosting
**Created:** [05.Октябрь.2022 20:17:53 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178 "2022-10-05T20:17:53Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![Alex\_P](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alex_p/32/163548_2.png) [@Alex\_P](https://meta.discourse.org/u/Alex_P)
#### Post date: [05.Октябрь.2022 20:17:53 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/1 "2022-10-05T20:17:53Z")

</div>

Если мне не нужны никакие расширенные функции, значит, мне не нужно использовать переменные `POSTCONF_smtpd_tls...`, верно?

Сайт, конечно же, использует https.

---

<div class="post-metadata">

### Author: ![Simon\_Manning](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon_manning/32/198596_2.png) [@Simon\_Manning](https://meta.discourse.org/u/Simon_Manning)
#### Post date: [05.Октябрь.2022 20:36:35 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/2 "2022-10-05T20:36:35Z")

</div>

Вам не понадобятся указанные выше варианты, но для поддержки шифрования TLS вам всё же потребуется конфигурация TLS из файла `samples/mail-receiver.yml`, адаптированная под ваше доменное имя.

Если вы используете шаблон Let’s Encrypt для HTTPS, достаточно раскомментировать соответствующие строки из образца и заменить доменное имя.

---

<div class="post-metadata">

### Author: ![Alex\_P](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alex_p/32/163548_2.png) [@Alex\_P](https://meta.discourse.org/u/Alex_P)
#### Post date: [06.Октябрь.2022 19:22:42 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/3 "2022-10-06T19:22:42Z")

</div>

хм, а есть какие-то идеи, почему это перестало работать недавно и показывает эту ошибку, связанную с сертификатами?

```plaintext
<19>Oct 6 19:18:27 receive-mail[94]: Не удалось выполнить POST-запрос с письмом на https://www..../admin/email/handle_mail: 
SSL_connect вернул=1 errno=0 state=SSLv3 read server certificate B: 
ошибка проверки сертификата (OpenSSL::SSL::SSLError)
<19>Oct 6 19:18:27 receive-mail[94]: /usr/local/lib/ruby/2.3.0/net/protocol.rb:44:in `connect_nonblock'
  /usr/local/lib/ruby/2.3.0/net/protocol.rb:44:in `ssl_socket_connect'
  /usr/local/lib/ruby/2.3.0/net/http.rb:928:in `connect'
  /usr/local/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
  /usr/local/lib/ruby/2.3.0/net/http.rb:852:in `start'
  /usr/local/lib/ruby/2.3.0/net/http.rb:1384:in `request'
  /usr/local/lib/ruby/site_ruby/mail_receiver/discourse_mail_receiver.rb:42:in `process'

```

---

<div class="post-metadata">

### Author: ![Simon\_Manning](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon_manning/32/198596_2.png) [@Simon\_Manning](https://meta.discourse.org/u/Simon_Manning)
#### Post date: [06.Октябрь.2022 20:31:58 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/4 "2022-10-06T20:31:58Z")

</div>

Итак, ошибка показывает, что письмо получено, но не удаётся проверить сертификат при попытке подключения к вашему экземпляру Discourse. Это говорит о том, что проблема не в чём-то другом, что подключается к вашему почтовому приёмнику, хотя это не обязательно означает, что TLS работает корректно (письмо могло быть доставлено без TLS).

По этой ошибке сложно точно сказать, что происходит, но если вы перейдёте по адресу `https://www....` (домен точно так, как он указан в сообщении об ошибке) в браузере, подключится ли он успешно?

Если да, то это, скорее всего, означает, что ваш почтовый приёмник по какой-то причине не доверяет ему.

Если нет, то это может указывать на проблему с настройкой SSL в файле app.yml (например, получен сертификат только для `example.com`, а не для `www.example.com`) или на ошибку в URL Discourse в файле mail-receiver.yml (например, используется `www.example.com`, хотя должно быть просто `example.com`).

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [06.Октябрь.2022 20:39:28 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/5 "2022-10-06T20:39:28Z")

</div>

Если вы укажете имя хоста, мы сможем помочь вам эффективнее.

Вы меняли доменное имя своего сайта? Правильно ли настроен сертификат на сайте?

Были ли в последние 90 дней какие-либо другие изменения на сайте?

---

<div class="post-metadata">

### Author: ![Alex\_P](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alex_p/32/163548_2.png) [@Alex\_P](https://meta.discourse.org/u/Alex_P)
#### Post date: [06.Октябрь.2022 20:52:43 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/6 "2022-10-06T20:52:43Z")

</div>

[https://www.programmersforum.rocks](https://www.programmersforum.rocks)

Никаких изменений в домене или чего-либо подобного, сайт работает нормально.

На самом деле логи показывают, что это началось ещё в ноябре прошлого года, но изменений так и не было.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [06.Октябрь.2022 21:33:04 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/7 "2022-10-06T21:33:04Z")

</div>

Хорошо, значит, сертификат в полном порядке.

Расскажите подробнее о почтовом сервере, который подключается к вашему форуму. Это обычный контейнер Docker для получения почты?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [06.Октябрь.2022 21:36:05 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/8 "2022-10-06T21:36:05Z")

</div>

> [@Alex P.](#):
>
> [https://www.programmersforum.rocks](https://www.programmersforum.rocks)

> [@Richard - Communiteq](#):
>
> Хорошо, значит, этот сертификат полностью в порядке.

Я проверил его на [//email/testTo:](https://www.checktls.com/TestReceiver); если вы хотите проверить сами, это способ тестирования.

Как предполагает Ричард, проблема, похоже, не в ~~Discourse~~ , а в почтовом получателе.

---

<div class="post-metadata">

### Author: ![Simon\_Manning](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon_manning/32/198596_2.png) [@Simon\_Manning](https://meta.discourse.org/u/Simon_Manning)
#### Post date: [06.Октябрь.2022 21:40:02 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/9 "2022-10-06T21:40:02Z")

</div>

Если это началось в прошлом ноябре, то это почти наверняка истечение срока действия корневого сертификата Let’s Encrypt. Вам, скорее всего, достаточно просто обновить образ и пересобрать.

> [@Self-hosted mail-receiver update following Let's Encrypt root certificate change](https://meta.discourse.org/t/self-hosted-mail-receiver-update-following-lets-encrypt-root-certificate-change/204924):
>
> This announcement only affects self-hosters who are running [Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver](https://meta.discourse.org/t/direct-delivery-incoming-email-for-self-hosted-sites/49487). Managed hosting customers, and self-hosters using POP3 for incoming mail are not affected. As you may be aware, Let’s Encrypt recently [changed their root certificate](https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/). The old root certificate expired today, and has caused a number of issues for out-of-date clients across the web. All of our systems at CDCK are up-to-date, and were not affected by today’s…

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [06.Октябрь.2022 21:40:29 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/10 "2022-10-06T21:40:29Z")

</div>

> [@Jay Pfaffman](#):
>
> Как предлагает Ричард, проблема, похоже, не в ~~Discourse~~ , а в получателе письма.

Нет, я думаю, что проблема между получателем письма и Discourse.  
Discourse доступен публично, поэтому я мог проверить сертификат Discourse и убедиться, что он в порядке.  
Поэтому я подозреваю, что проблема на стороне получателя письма.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [06.Октябрь.2022 21:41:39 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/11 "2022-10-06T21:41:39Z")

</div>

> [@Саймон Мэннинг](#):
>
> Если это началось в прошлом ноябре, то это почти наверняка истечение срока действия корневого сертификата Let’s Encrypt.

Это звучит как вполне вероятная причина!

> [@Ричард - Communiteq](#):
>
> Нет, проблема находится между получателем электронной почты и Discourse.

Согласен, но объяснение Саймона может прояснить проблему с тем, что подключается к получателю почты.

РЕДАКТИРОВАНИЕ: Возможно, проблема возникла в прошлом ноябре, но была замечена только недавно.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [06.Октябрь.2022 21:42:21 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/12 "2022-10-06T21:42:21Z")

</div>

> [@Simon\_Manning](#):
>
> Если это началось в ноябре прошлого года

> [@Alex P.](#):
>
> Недавно перестало работать

🤔 …

---

<div class="post-metadata">

### Author: ![Simon\_Manning](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon_manning/32/198596_2.png) [@Simon\_Manning](https://meta.discourse.org/u/Simon_Manning)
#### Post date: [06.Октябрь.2022 21:45:59 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/13 "2022-10-06T21:45:59Z")

</div>

> [@Richard - Communiteq](#):
>
> 🤔 …

Алекс уточнил в одном из своих ответов, когда это началось:

> [@Alex P.](#):
>
> На самом деле в логах видно, что это началось в ноябре прошлого года

---

<div class="post-metadata">

### Author: ![Alex\_P](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alex_p/32/163548_2.png) [@Alex\_P](https://meta.discourse.org/u/Alex_P)
#### Post date: [07.Октябрь.2022 05:47:38 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/14 "2022-10-07T05:47:38Z")

</div>

Ага, да, обновление исправило ошибку SSL.

Но после этого возвращался ответ 404. Создание нового ключа API решило проблему.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [06.Ноябрь.2022 05:47:49 UTC](https://meta.discourse.org/t/incoming-mail-server-has-certificate-error/241178/15 "2022-11-06T05:47:49Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
