# Проблемы с отправкой писем возникли у разных провайдеров в notification\_email и reply\_by\_email\_addresses

**URL:** https://meta.discourse.org/t/email-sending-issues-occured-on-different-email-provider-on-notification-email-and-reply-by-email-addresses/201984
**Category:** Self-hosting
**Created:** [28.Август.2021 11:51:52 UTC](https://meta.discourse.org/t/email-sending-issues-occured-on-different-email-provider-on-notification-email-and-reply-by-email-addresses/201984 "2021-08-28T11:51:52Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![sptrf](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sptrf/32/232521_2.png) [@sptrf](https://meta.discourse.org/u/sptrf)
#### Post date: [28.Август.2021 11:51:53 UTC](https://meta.discourse.org/t/email-sending-issues-occured-on-different-email-provider-on-notification-email-and-reply-by-email-addresses/201984/1 "2021-08-28T11:51:53Z")

</div>

Здравствуйте, недавно я столкнулся с проблемами при настройке отправителя электронной почты для QQ Exmail (также известного как 腾讯企业邮箱). Моя конфигурация почты указана ниже:

```plaintext
DISCOURSE_SMTP_ADDRESS: smtp.exmail.qq.com
DISCOURSE_SMTP_AUTHENTICATION: login
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: username@domain.tld
DISCOURSE_SMTP_PASSWORD: ***

```

Я также настроил `notification_email` в панели настроек.

 ![image](https://global.discourse-cdn.com/meta/original/3X/a/1/a1af92d612a5ebc69d96f4f33a1b924555c4c1c3.png)

Однако при попытке отправить тестовое письмо из панели система всегда возвращает ошибку: `501 mail from address must be same as authorization user`.

Я дважды проверил, что `DISCOURSE_SMTP_USER_NAME` и `notification_email` — это один и тот же адрес электронной почты, и мои настройки SMTP успешно прошли тест на [SMTP Test Tool](https://www.gmass.co/smtp-test).

Поскольку я пока не понимаю, какая часть моей конфигурации почты вызывает проблему, возможно ли как-то отладить эту проблему или посмотреть исходное письмо, которое попыталось отправить экземпляр Discourse, чтобы я мог проверить, корректен ли раздел `from:` в письме?

Любая помощь или комментарий будут очень ценны.

Вот несколько сообщений, на которые я ссылался при настройке почты:  
[https://community.jenkins-zh.cn/t/discourse/202](https://community.jenkins-zh.cn/t/discourse/202)

---

<div class="post-metadata">

### Author: ![sptrf](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sptrf/32/232521_2.png) [@sptrf](https://meta.discourse.org/u/sptrf)
#### Post date: [28.Август.2021 15:13:59 UTC](https://meta.discourse.org/t/email-sending-issues-occured-on-different-email-provider-on-notification-email-and-reply-by-email-addresses/201984/2 "2021-08-28T15:13:59Z")

</div>

После некоторых исследований я предполагаю, что эта проблема может быть связана с конфликтом между `notification_email` и `reply_by_email_addresses`. Когда обе переменные настроены, исходящие письма, похоже, используют `reply_by_email_addresses` в качестве адреса в поле `from:`, что может быть связано со следующим кодом:

> <https://github.com/discourse/discourse/blob/1472e47aae5bfdfb6fd9abfe89beb186c751f514/lib/email/message_builder.rb#L240>

Однако, когда я переключаю почтовый сервер уведомлений на Office 365 с аналогичной SMTP-конфигурацией, письма отправляются без проблем.

```plaintext
  #DISCOURSE_SMTP_ADDRESS: outlook.office365.com
  #DISCOURSE_SMTP_AUTHENTICATION: login
  #DISCOURSE_SMTP_ENABLE_START_TLS: true
  #DISCOURSE_SMTP_PORT: 587
  #DISCOURSE_SMTP_USER_NAME: 365@domain.tld
  #DISCOURSE_SMTP_PASSWORD: ***

```

Предполагаю, что причина такого разного поведения может заключаться в том, что **Office 365 не проверяет поле `from:` при отправке почты** , а просто перезаписывает поле `from:` именем пользователя учётной записи Office 365 при отправке, тогда как **QQ Exmail проверяет поле `from:` отправляемой почты, и некорректное значение поля `from:` может вызывать ошибку 501, упомянутую выше**.
