2011-01-27 3 views
6

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

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

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

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

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

ответ

2

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

Учитывая, что большинство клиентов используют комбинацию отправителя, ответа и субъекта. Веб-клиент Gmail использует внутренние идентификаторы потоков для более точного отслеживания писем, отправленных с веб-клиента. Вы подумывали о отправке с разных адресов электронной почты? Например, в Gmail [email protected] совпадает с [email protected]. Все, что после + лишено и игнорируется ради почтовой маршрутизации, но я не думаю, что он игнорируется при вычислении членства в потоке. Я не уверен, что это правило адресации является специфичным для Gmail или если оно является частью стандарта.

1

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

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

2

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^