# Как настроить Discourse для получения писем от Mailgun?

**URL:** https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670
**Category:** Support
**Created:** [23.Январь.2025 19:18:01 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670 "2025-01-23T19:18:01Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![exlabs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/exlabs/32/437527_2.png) [@exlabs](https://meta.discourse.org/u/exlabs)
#### Post date: [23.Январь.2025 19:18:02 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670/1 "2025-01-23T19:18:02Z")

</div>

У меня полностью рабочая установка Discourse (установленная по рекомендованному методу) на сервере (Linode) под управлением Ubuntu. Я могу _отправлять_ электронную почту без проблем и создавать новых пользователей через регистрацию.

Мы используем эту функцию: [Configuring incoming email to create new topics or group messages](https://meta.discourse.org/t/configuring-incoming-email-to-create-new-topics-or-group-messages/62977) — для работы Discourse необходимо предоставить входящий адрес электронной почты.

В Mailgun я создал маршрут Catch All, который пересылает письма на веб-хук, как описано здесь: [Discourse Mailgun Routes](https://meta.discourse.org/t/discourse-mailgun-routes/210609), и установил соответствующий плагин.

Однако, судя по логам Mailgun, это не работает. Есть какие-то идеи, как это исправить?

```JSON
{
	"timestamp": 1737657789.428326,
	"recipient-domain": "forum.domain.com",
	"envelope": {
		"transport": "http",
		"targets": "https://forum.domain.com/mailgun/routes/receive_mime",
		"sender": "me@myemail.com"
	},
	"primary-dkim": "",
	"delivery-status": {
		"code": 406,
		"session-seconds": 0.277,
		"message": "Not Acceptable",
		"attempt-no": 1,
		"description": ""
	},
	"event": "failed",
	"id": "4uIIPrRRTQOwluJaE-QpRA",
	"campaigns": null,
	"log-level": "error",
	"tags": [],
	"message": {
		"size": 4089,
		"headers": {
			"message-id": "CA+riLLnyMLCruT2DmhFjTuyvy7OtQ8NrT0X0m5PZXfK3uzwCEg@mail.gmail.com",
			"to": "domain+support-12@forum.domain.com",
			"subject": "Test",
			"from": "Me Me <me@myemail.com>"
		},
		"attachments": []
	},
	"recipient": "https://forum.domain.com/mailgun/routes/receive_mime",
	"user-variables": {},
	"flags": {
		"is-test-mode": false,
		"is-authenticated": false,
		"is-routed": false,
		"is-system-test": false
	},
	"storage": {
		"region": "us-east4",
		"env": "production",
		"key": "BAABAAAVXB5iOt41fPtDZaekVDDH1beaZA",
		"url": "https://storage-us-east4.api.mailgun.net/v3/domains/forum.domain.com/messages/BAABAAAVXB5iOt41fPtDZaekVDDH1beaZA"
	},
	"severity": "permanent"
}

```

---

<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: [23.Январь.2025 19:43:25 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670/2 "2025-01-23T19:43:25Z")

</div>

Самый простой и рекомендуемый способ — [настроить прямую доставку входящей электронной почты для сайтов с самостоятельным хостингом с помощью Mail-Receiver](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487)

---

<div class="post-metadata">

### Author: ![Wolftallemo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wolftallemo/32/289645_2.png) [@Wolftallemo](https://meta.discourse.org/u/Wolftallemo)
#### Post date: [23.Январь.2025 21:20:43 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670/3 "2025-01-23T21:20:43Z")

</div>

Если вы включите `mailgun_log_rejections` и отправите ещё одно письмо, в логах Sidekiq должно появиться сообщение об отказе с указанием причины (Mailgun не сохраняет тело ответа, поэтому это практически единственный способ), и это даст вам ответ.

В противном случае вы можете использовать настройку mail-receiver, если предпочитаете этот вариант.

---

<div class="post-metadata">

### Author: ![exlabs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/exlabs/32/437527_2.png) [@exlabs](https://meta.discourse.org/u/exlabs)
#### Post date: [24.Январь.2025 11:42:59 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670/4 "2025-01-24T11:42:59Z")

</div>

Привет, @Wolftallemo, спасибо за отличный плагин 🙂

Я проверил `/logs`, но ничего, связанного с этой проблемой, не нашёл. Не уверен, что это правильное место для чтения логов Sidekiq.

Я бы предпочёл сначала заставить плагин работать, возможно, дам себе ещё пару дней, прежде чем пытаться настроить приём почты. Моя установка находится за обратным прокси Traefik, так что, уверен, это немного усложнит задачу.

С уважением,

Дэн

---

<div class="post-metadata">

### Author: ![Wolftallemo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wolftallemo/32/289645_2.png) [@Wolftallemo](https://meta.discourse.org/u/Wolftallemo)
#### Post date: [24.Январь.2025 20:02:03 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670/5 "2025-01-24T20:02:03Z")

</div>

Да, они должны находиться именно там, хотя это необычно.

Я бы начал с проверки входящего спам-фильтра. Возможно, он настроен так, что не фильтрует сообщения на стороне Mailgun.

Если это так, я бы либо:

- Изменил настройки входящей фильтрации спама на стороне Mailgun, чтобы добавлять заголовки спама (это находится в настройках домена);
- Установил `mailgun_spam_detection` в значение `none` (но я не рекомендую этого делать).

Но, полагаю, установка значения `none` могла бы стать довольно простым тестом в данном случае.

---

<div class="post-metadata">

### Author: ![exlabs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/exlabs/32/437527_2.png) [@exlabs](https://meta.discourse.org/u/exlabs)
#### Post date: [26.Январь.2025 18:00:32 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670/6 "2025-01-26T18:00:32Z")

</div>

Здравствуйте,

Похоже, эти настройки уже настроены. Вероятно, я делаю что-то очень глупое. Я быстро попробовал mail-receiver; единственная проблема в том, что я работаю за обратным прокси-сервером Traefik, поэтому, несомненно, потребуется несколько попыток, чтобы заставить это работать со всеми необходимыми метками docker compose и т. д. Именно поэтому мне так понравился ваш плагин!

---

<div class="post-metadata">

### Author: ![Wolftallemo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wolftallemo/32/289645_2.png) [@Wolftallemo](https://meta.discourse.org/u/Wolftallemo)
#### Post date: [26.Январь.2025 18:34:20 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670/7 "2025-01-26T18:34:20Z")

</div>

Вы случайно успешно получаете отскоки от Mailgun? Единственные две причины, по которым отклонение происходит без лога, — это либо неправильный ключ (он должен быть именно ключом подписи вебхука), либо его отсутствие.Стоит перепроверить, не установили ли вы случайно что-то другое вместо ключа подписи вебхука (поскольку формулировка в 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: [27.Январь.2025 02:26:46 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670/8 "2025-01-27T02:26:46Z")

</div>

Почтовый сервер работает на порту 25, поэтому Traefik не нужно знать о нём.

---

<div class="post-metadata">

### Author: ![exlabs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/exlabs/32/437527_2.png) [@exlabs](https://meta.discourse.org/u/exlabs)
#### Post date: [27.Январь.2025 11:03:00 UTC](https://meta.discourse.org/t/how-to-configure-discourse-to-receive-email-from-mailgun/348670/9 "2025-01-27T11:03:00Z")

</div>

Я уже изменил свои MX-записи, поэтому, чтобы избежать ещё задержки в 24 часа, я продолжу использовать подход с почтовым приёмником.

> [@pfaffman](#):
>
> Почтовый приёмник работает на порту 25, поэтому Traefik не нужно о нём знать.

Это очень сильно упрощает задачу. В таком случае я могу почти без изменений просто запустить пример скрипта, без какой-либо интеграции со стеком traefix/docker-compose?
