Форсировать новую ветку электронной почты - PullRequest
7 голосов
/ 27 января 2011

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

Системы электронной почты, такие как Gmail, например групповые сообщения электронной почты, в«разговоры», такие, что сообщения A считаются ответом на сообщение B .Есть много методов, которые они используют для определения того, на какое сообщение вы отвечаете, например, заголовок Subject: или заголовок In-Reply-To :.

Однако, поскольку автоматические электронные письма, как правило, иногда используют строки темы (например, " Мониторинг сбоя на сервере foo.bar.com "), почтовая служба часто предполагает, что данное письмо действительноответ на предыдущее сообщение с той же строкой темы, даже если они не связаны между собой.Это может привести к путанице, и клиенты потенциально могут пропустить важное уведомление.

Возможно ли (и если да, то как) сообщить в ваших почтовых заголовках, что данное сообщение НЕ является ответом на какое-либо другое сообщение?Несмотря на возможное сходство в строках темы?

Поскольку сама тема электронной почты видна клиенту, я бы предпочел избежать такой глупости: "Subject: Automated reminder for $task [".md5sum(date())."]"

Ответы [ 3 ]

2 голосов
/ 27 января 2011

Не существует способа сделать это для всех систем электронной почты.Даже если вы поймете, как обойти это для Gmail, как насчет многопоточных режимов Mail.app, Thunderbird и Outlook?Конечно, каждый почтовый клиент, который поддерживает такие функции, по-разному определяет принадлежность сообщений к данному разговору.

При этом кажется, что большинство клиентов используют комбинацию отправителя, ответа и темы.Веб-клиент Gmail использует внутренние идентификаторы потоков для более точного отслеживания сообщений электронной почты, отправляемых веб-клиентом.Вы думали об отправке с разных адресов электронной почты?Например, в Gmail some-email@gmail.com совпадает с some-email+1234@gmail.com.Все, что после + отбрасывается и игнорируется ради маршрутизации почты, но я не думаю, что это игнорируется при вычислении членства в потоке.Однако я не уверен, относится ли это правило адресации к Gmail или является частью стандарта.

2 голосов
/ 01 февраля 2011

Большинство почтовых клиентов организуют потоки на основе следующих заголовков InReplyTo, References, Thread-Index (из Outlook).Поэтому, если вы не укажете их в своем почтовом сообщении, я думаю, что оно не будет рассматриваться как часть какого-либо существующего потока (если не включена базовая тема на основе темы).

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

1 голос
/ 27 января 2011

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

Почему бы просто не добавить дату в конец?Таким образом, у вас будет немного более доступная информация, и вам не нужно будет перетаскивать целую кучу старых сообщений как часть потока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...