Представим такую ситуацию: имеется некая система, которая отправляет автоматические email пользователям. Некоторые пользователи ушли в отпуск и выставили в своих ящиках автоответчик. Тогда, если автоматическое письмо придет в такой ящик, обратно будет выслан авто-ответ. Этот авто-ответ может быть обработан той же или другой системой. Например, если это Redmine — то будут созданы нелепые комментарии и задачи, в которых говорится, что сотрудник в отпуске. Как этого избежать?
Как раз для таких ситуаций придуманы и внесены в стандарты специальные email-заголовки. Установив их, можно управлять поведением клиентов при получении письма от автоответчика. В первую очередь необходимо убедиться, что сам автоответчик настроен правильно и отправляет верные заголовки. Среди них должны быть:
X-Auto-Response-Suppress: OOF Auto-Submitted: auto-replied
X-Auto-Response-Suppress активно рекомендуется фирмой Microsoft, Auto-Submitted является стандартом.
Также может быть добавлен этот заголовок:
Precedence: Bulk
В отличие от первых двух, заголовок Precedence не является стандартным и теоретически может привести к попаданию письма с таким заголовком в спам или вовсе к его удалению.
Система, которая принимает email, вполне может ориентироваться на эти заголовки и не обрабатывать письма от автоответчика. Например, Redmine так и поступает.
В свою очередь, если вы разрабатываете систему, которая отсылает автоматические письма, постарайтесь позаботиться о заголовках, которые говорят о том, что письмо — автоматическое. Это будет культурно и правильно. Заголовки можно отправить такие:
X-Auto-Response-Suppress: OOF Auto-Submitted: auto-generated Precedence: Bulk
Таким образом, на конкретном примере в этой статье я показал, что всегда следует бережно относиться к заголовкам в письмах. Небрежное отношение к ним может привести к непредсказуемым и неприятным последствиям.