Как однозначно определить ответ по электронной почте? - PullRequest
4 голосов
/ 17 апреля 2020

Я создаю систему заявок, в которой пользователи могут подавать заявку в службу поддержки, а агенты могут отвечать на конкретную заявку, а когда агент отвечает на конкретную заявку, я отправляю ответ на электронную почту соответствующего пользователя (служба электронной почты с использованием SendGrid).

Мой вопрос: когда пользователь ответил на электронную почту агента, я получу это письмо с помощью входящего синтаксического анализатора SendGrid, но я застрял в том, как однозначно определить, на какой запрос ответил пользователь. У меня есть две идеи, прикрепляющие JWT в заголовке или уникальный адрес электронной почты напоминают идентификатор билета (ticket-id-2654654@example.com), но я не знаю, что будет работать

Ответы [ 2 ]

2 голосов
/ 19 апреля 2020

Вы можете отправить свой заголовок идентификатора сообщения ( RF C 2392 ) с вашей электронной почтой. Ответы на вашу электронную почту должны содержать заголовок References и / или In-Reply-To, содержащий Message-ID электронной почты, на которую был дан ответ.

Редактировать: Только что проверил это с Zendesk и Zammad. Кажется, они оба идентифицируют ответы таким образом.

0 голосов
/ 20 апреля 2020

Вы упомянули наличие уникального адреса электронной почты, мало чем отличающегося от адреса VERP ( Variable Envelope Return Path ). VERP наиболее уместен, если он имеет дело с отказами, так как он относится к адресу, используемому для SMTP MAIL FROM:,

MAIL FROM:<ticket-id-2654654@example.com>

, в частности, полезно определить, какие письма отклоняются - электронная почта, вероятно, никогда не поступит в почтовый ящик на удаленном конце. Обратите внимание, что адрес, используемый во время SMTP-разговора, подобного этому, будет записан в верхней части полученного электронного письма с заголовком «Return-Path:».

Если предположить, что электронное письмо не отскочило, то как обеспечить получение электронного письма с узнаваемым идентификатором возвращается:

Пользовательский заголовок Message-ID: для MysteriousPerson превосходен; также укажите адрес VERP в заголовке Reply-To:, поэтому один или оба идентификатора, которые вы указали там, должны быть найдены в ответе, чтобы декодировать, на какой билет / пользователя было отправлено исходное сообщение. Вы можете выбрать один и тот же адрес VERP в заголовке From: или что-то более удобное для человека, в зависимости от того, что вы хотите, чтобы получатель увидел. Поскольку указан Reply-To:, клиентское программное обеспечение будет использовать его для ответов.

Основные RFC для SMTP и формата сообщений , вероятно, будут полезны, если вы еще не знал о них.

...