Задать вопрос

Трансляция сообщений из электронной почты на сайт (ответ на комментарий по е-мейлу)

Задача: организовать альтернативный канал общения через е-мейл. То есть, мне на е-мейл приходит уведомление о комментарии, я просто жму «Ответить», пишу ответ и отпарвляю его, после чего мой ответ появляется на сайте.

Правильно ли я вижу решение?

Письмо с уведомлением приходит со специальным заголовком reply-to, куда зашит е-мейл и идентификатор диалога, например, discuss-235982375@domain.ltd. Ящики на почтовом сервере не создаются, а все входящие помечаются как «user not found» и сыплются на определенный ящик, откуда и парсятся дополнительным процессом, который верифицирует ответы и раскладывает их в БД.

Или, возможно, вернее настроить на почтовом сервере правило сортировки таких писем?

Или я вообще все криво придумал и есть другие, зелёные способы?
  • Вопрос задан
  • 3371 просмотр
Подписаться 4 Оценить Комментировать
Решения вопроса 1
grossws
@grossws
Обычно для этих целей используется один ящик. В local-part после имени пользователя пишется, например, + далее специфичная информация (токен, id треда, куда постить: john.smith+id123@example.com). При должной настройке MTA такие письма летят на один аккаунт, а по информации в local-part уже делается in-app routing. При отправке наружу это скрывается в Reply-To заголовке.

Посмотрите RFC5233 — Sieve Email Filtering: Subaddress Extension. Postfix его поддерживал.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Richard_Ferlow
Веб-программист
мне видится так например

есть ящик с которого вам идут сообщения и в теме письма допустим id+секретный ключ этого вопроса.
вы отвечаете на письмо — оно попадает в ящик который проверяется с заданной периодичностью скриптом и из входящих писем берет ваш ответ и добавляет его в базу. ну в ящике белый список адресатов настроить.
Ответ написан
@Kane
Бывают сервисы, которые за тебя могут получать почту и при получении дёргать определенную ссылку. Например, postmarkapp.com
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы