Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Какие заголовки ВСЕГДА возвращаются в ответе/пересылке?

Автор вопроса: neokioОтветов: 3

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

Потоки клиентов довольно надежны через заголовок сообщений From:. Но как быть с заказами? Кажется, что большинство людей используют заголовок Reply-To: для потоковой передачи заказов...

From: <[email protected]>
To: <[email protected]>
Subject: Company Order #314159
Reply-To: <[email protected]>

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

From: <[email protected]>
To: <[email protected]>
Subject: Company Order #314159
Message-ID: <314159-2>

... or ...

In-Reply-To: <314159-1>

Но отправляются ли они обратно, когда человек отвечает? Существуют ли какие-либо заголовки (кроме Reply-To:), которые надежно копируются в ответы и пересылки?

emailsmtp

Ответы

Ответ 1 · рейтинг 15 · SimonMayer

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

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

  1. одноразовый адрес для ответа. Теоретически вы также можете сделать это с "От", если хотите, но "Ответить-кому" лучше, чтобы пользователь (и его почтовый сервер / клиент) распознал, что это от вас, и действовал соответствующим образом. Я не вижу причин, по которым спам-фильтр мог бы заботиться об одноразовых адресах. Учитывая, что в большинстве спамов в любом случае используются поддельные адреса и плевать на ответы, на самом деле это не спамерский трюк. Маловероятно, что это приведет к значительному усилению фильтрации спама. Использование Reply-To для того же домена, что и ваш адрес отправителя, также вряд ли будет выглядеть подозрительно.
  2. Уникальный предмет. Да, его можно легко изменить, но обычно существующая тема добавляется, а не удаляется (особенно если она явно содержит какой-то номер ссылки). Вы можете применить сопоставление с регулярным выражением - возможно, только используя его как подтверждение других ваших методов обнаружения.
  3. Уникальная строка в теле (возможно, перед ней стоят слова "НЕ УДАЛЯТЬ ЭТУ СТРОКУ")
  4. Заголовки In-Reply-To и Reference, вероятно, хороши, если они поддерживаются. Существует небольшая вероятность того, что пользователь скопирует свой ответ в новое пустое сообщение и все равно удалит заголовки.

Ответ 2 · рейтинг 2 · tripleee

Reply-To, к сожалению, не совсем надежен. Все ответы должны иметь References:, который лучше стандартизирован, чем In-Reply-To:, который не легко читается машиной.

Лучше всего установить для заголовка конверта уникальный идентификатор, возможно, с комбинацией From: и Sender:, которая направляет ответы в нужное место, но хорошо отображается.

См. также примечания Дэна Бернштейна; http://cr.yp.to/immhf.html и, в частности, http://cr.yp.to/immhf/thread.html

Я не думаю, что вы можете рассчитывать на что-либо, когда дело доходит до форвардов.

Ответ 3 · Asfand Iqbal

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

В ходе исследования мы обнаружили, что единственный ЗАГОЛОВОК, который не заменяется или не удаляется различными почтовыми клиентами (Outook, Yahoo, Gmail и т. д.), был "XREF". Мы тщательно протестировали его, и он работает с тех пор, как мы впервые представили его.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы