При чтении документации и тестировании по статье Настройка прямой доставки входящей электронной почты для самохостинговых сайтов с помощью mail-receiver я заметил, что отсутствует один важный нюанс: как Discourse определяет местоположение адреса reply-key в ответном письме.
Сегодня в ходе тестирования (с использованием mail-receiver) я подтвердил следующее:
- Ответ корректно обрабатывается, если адрес reply-key Discourse указан в поле To.
- Ответ также обрабатывается, если адрес reply-key указан только в поле Cc, даже если поле To содержит совершенно другой адрес.
- Порядок получателей не имеет значения (To или Cc).
- Discourse корректно обработает ответ, если адрес reply-key присутствует в списке получателей где угодно.
Остальные получатели просто получат копию сообщения; их собственные ответы будут работать только в том случае, если они также включают корректный reply-key для своего аккаунта.
Предлагаемое дополнение к документации
В разделе, объясняющем, как mail-receiver обрабатывает входящие сообщения, следует добавить следующее примечание:
Примечание об обработке reply-key
Discourse обработает входящее сообщение-ответ по электронной почте, если специальный адрес reply-key (например,reply+abcdef123@forum.example.com) присутствует в списке получателей где угодно.
- Адрес reply-key не обязательно должен быть основным адресом в поле To.
- Он может находиться в полях To, Cc или Bcc в любом порядке.
- Это означает, что вы можете отправить ответ, указав в поле To адрес другого человека, а адрес reply-key Discourse — в поле Cc. Ответ всё равно будет сопоставлен с правильной темой.
Остальные получатели просто получат копию письма, но их собственные ответы будут работать только в том случае, если они также включают корректный reply-key для своего аккаунта.
Это избавит администраторов и пользователей от вопросов о том, должен ли адрес reply-key всегда находиться в поле To.