Можно ли прикрепить тег к письму при отправке, который можно получить, когда кто-то отвечает на это же письмо? - PullRequest
1 голос
/ 27 февраля 2012

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

Есть ли способ прикрепить тег (для идентификации) к почтовому конверту (кроме темы) при отправке письма, чтобы при ответе на ту же почту код мог его распознать?

К вашему сведению, я использую компоненты Java-почты для написания клиента.

Заранее спасибо ..

Ответы [ 3 ]

2 голосов
/ 28 февраля 2012

Как отмечает Билл Шеннон, произвольные заголовки сообщений не будут включены в ответ.Реально, тема может быть принципиально похожей в ответе.Часто это будет префиксная версия (например, с «Re:») темы исходного сообщения.Пользователи, конечно, могут редактировать тему, а испорченные почтовые программы могут совершать всевозможные сумасшедшие поступки.

Вы должны иметь возможность сопоставить ответ на сообщение с исходным сообщением, используя заголовок References наОтветить.Этот заголовок должен содержать RFC 2822 в качестве последнего элемента - идентификатор сообщения, на которое отправляется ответ.Теоретически вы можете даже отслеживать несколько ответов назад к исходному сообщению, так как References должен составить так, чтобы вы могли построить всю цепочку из списка идентификаторов сообщений.

То есть, когда выЧтобы отправить исходное сообщение, у вас должно быть поле:

Message-ID: <unique-message-id>

и в ответе вы должны увидеть:

References: <unique-message-id>

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

Message-ID: <unique-message-id>
References: <other-id>

и в ответах вы должны увидеть:

References: <other-id> <unique-message-id>

Обратите внимание, что я сказал "следует" несколько раз.Такое поведение было кодифицировано только в RFC2822, поведение заголовка References плохо определено в исходном RFC822 .Хотя (предположительно) большинство почтовых клиентов следуют RFC2822, вы можете увидеть список (возможно, в основном устаревших) предостережений, объясненных jwz в отношении алгоритма threading в программе чтения почты Netscape .

1 голос
/ 28 февраля 2012

Единственный элемент заголовка, от которого вы можете зависеть в ответе, - это адрес, поэтому, если вы хотите отслеживать ответы с абсолютной надежностью, вам потребуется отдельный адрес для каждого отправляемого сообщения.

Обычно в ответ включается исходная тема, поэтому самое простое место для размещения тега.

Произвольные заголовки сообщений обычно не включены в ответ.

0 голосов
/ 24 июля 2012

Хорошо, это правда, что вы можете использовать In-Reply-To и References, но, например, References используется не всегда, например, у меня есть клиенты, которые используют Zimbra систему электронной почты VMware, и эта система забирает любой заголовок References. И если вы пытаетесь ретранслировать In-Reply-To, проблема заключается в том, что для каждого получателя у вас будет один и тот же In-Reply-To, и вы можете использовать исходный адрес электронной почты, чтобы знать, кто отвечает на электронное письмо, потому что люди используют псевдонимы электронной почты, поэтому, если вы отправите электронное письмо на адрес j@example.com, он может переиграть вас с jhon@example.com, который является его первоначальным адресом электронной почты.

Итак, наконец, вы не можете ретранслировать сообщения In-Reply-To или References, но вы можете использовать их для того, чтобы в списке идентифицировать цепочку, и попытаться подтвердить ее с помощью электронного письма отправителя или электронной почты, и также вы можете попытаться добавить в HTML-часть электронного письма (которая на данный момент имеется в большинстве почтовых клиентов) поиск скрытого тега для первоначального получателя этого сообщения.

Если это сложное тестирование, не получится все, но, вероятно, что-то вроде 95% случаев.

Использование ответа в качестве псевдонима учетной записи - это хороший подход, в большинстве случаев он должен работать. Единственным недостатком является использование подхода "Ваше имя", который требует от вас фактического знания "вашего имени". а в некоторых случаях это не так просто.

...