#2198: Почтовые заголовки в уведомлениях Swarmica

Отредактирована: сегодня

Основные сведения

Каждое письмо состоит из двух частей: заголовков и тела. Тело — это текст, который видит получатель. Заголовки — служебные строки вида Название: значение перед телом письма. Их читают почтовые серверы и клиенты: по ним письмо доставляют, проверяют подлинность отправителя, собирают в цепочку переписки и решают, можно ли на него автоматически ответить.

Формат заголовков задаёт RFC 5322 (раздел 2.2 — общий синтаксис, раздел 3.6 — стандартные заголовки). Так выглядят заголовки уведомления Swarmica:

From: support@example.com
To: client@example.org
Subject: #1024: Не работает вход в личный кабинет
Date: Fri, 30 Oct 2026 12:00:00 +0300
Message-ID: <...@example.com>
Content-Type: multipart/alternative; boundary="..."
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

Кроме стандартных заголовков, в письмо можно добавить собственные (RFC 5322, раздел 3.6.8). Раньше их принято было начинать с X-, но RFC 6648 рекомендует для новых заголовков обходиться без этой приставки. Общепринятые заголовки регистрируются в реестре IANA по RFC 3864.

Собственные заголовки помогают:

  • защититься от петли автоответов между Swarmica и другими почтовыми роботами — подробнее в статье Автоответы и заголовки Auto-Submitted и X-Auto-Response-Suppress;
  • пометить письма для правил почтового сервера или почтового клиента получателя, например чтобы раскладывать уведомления по папкам;
  • настроить обмен письмами с другой системой поддержки или другим экземпляром Swarmica, чтобы принимающая сторона отличала ваши письма от остальной почты.

Где настроить заголовки

Начиная с версии 6.2.0 у каждого почтового уведомления есть свой набор заголовков. Настраивать его может администратор.

  1. Откройте Настройки - Настройки почтовых шаблонов и выберите уведомление. Подробнее о разделе — в статье Настройки почтовых шаблонов.
  2. В блоке Настройки найдите поле Заголовки.
  3. Укажите заголовки JSON-объектом: ключ — название заголовка, значение — строка.
  4. Нажмите Сохранить.
{
  "Auto-Submitted": "auto-generated",
  "X-Auto-Response-Suppress": "All",
  "X-Partner": "acme"
}

Что важно знать:

  • Поле хранит весь набор заголовков уведомления. Многие уведомления уже содержат заголовки по умолчанию: если удалить их из JSON, они пропадут из писем. Чтобы добавить свой заголовок, допишите его к существующим.
  • Заголовки начинают действовать сразу после сохранения, для всех получателей уведомления. Пункт Применить настройки в меню дополнительных действий для них не нужен: он переносит на пользователей только роли и настройку По умолчанию.
  • Пункт Восстановить настройки в том же меню возвращает заголовки по умолчанию вместе с ролями и настройкой По умолчанию.
  • Чтобы отправлять уведомление без дополнительных заголовков, укажите пустой объект {}.
  • Значение подставляется в письмо как есть: переменные шаблона {{ ... }} в заголовках не обрабатываются.

Требования к заголовкам

  • Название состоит из печатных символов ASCII (коды 33–126) без двоеточия и пробела — так требует RFC 5322, раздел 3.6.8. Кириллица в названии недопустима.
  • Значение — строка в одну строку, без переводов строки. Так Swarmica защищает письмо от подстановки лишних заголовков через значение.
  • Для значений лучше использовать только латиницу, цифры и знаки препинания: символы не из ASCII при отправке кодируются по RFC 2047, и не все получатели читают их одинаково.

Если требование нарушено, Swarmica не сохранит настройки и покажет ошибку.

Заголовки, которые нельзя указать

Некоторые заголовки Swarmica, почтовая библиотека или почтовые серверы по пути письма проставляют сами. Поэтому указать их в поле Заголовки нельзя. Проверка не зависит от регистра: message-id тоже не пройдёт.

ЗаголовокКто и зачем его проставляетСтандарт
SubjectSwarmica, из темы в шаблоне уведомленияRFC 5322, раздел 3.6.5
FromSwarmica, адрес email-канала, через который уходит письмоRFC 5322, раздел 3.6.2
DateSwarmica, время отправкиRFC 5322, раздел 3.6.1
Message-IDSwarmica, уникальный идентификатор письма. В уведомлениях ticket_created_* и ticket_comment_* он содержит подписанный номер заявки: по нему Swarmica находит заявку, к которой относится вернувшийся отчёт о недоставкеRFC 5322, раздел 3.6.4
In-Reply-ToSwarmica, чтобы уведомление попало в ту же цепочку, что и письма получателя в заявкеRFC 5322, раздел 3.6.4
ReferencesЦепочка переписки. Одно постоянное значение склеило бы в одну цепочку все письма уведомленияRFC 5322, раздел 3.6.4
Content-TypeПочтовая библиотека: тип содержимого, HTML- и текстовая версии письма, вложенияRFC 2045, раздел 5; RFC 2046
DKIM-SignatureПочтовый сервер отправителя, цифровая подпись письмаRFC 6376
Authentication-ResultsСервер получателя, результаты проверок SPF, DKIM и DMARCRFC 8601
ReceivedКаждый почтовый сервер на пути письмаRFC 5321, раздел 4.4; RFC 5322, раздел 3.6.7
Received-SPFСервер получателя, результат проверки SPFRFC 7208, раздел 9.1
Delivered-ToСервер получателя, адрес ящика, в который доставлено письмоRFC 9228
Return-PathСервер получателя, из адреса отправителя в конверте письма (MAIL FROM). На этот адрес приходят отчёты о недоставке. Заголовок в письме его не меняет: сервер получателя всё равно запишет адрес из конвертаRFC 5321, раздел 4.4; RFC 5322, раздел 3.6.7

В уведомлениях, связанных с заявкой, Swarmica сама проставляет заголовок Thread-Index, по которому Outlook собирает цепочку переписки. Его можно указать в поле Заголовки, но в таких уведомлениях значение будет заменено.

Ссылки

  • RFC 5322 — Internet Message Format: формат письма и стандартные заголовки
  • RFC 5321 — Simple Mail Transfer Protocol: конверт письма и заголовки трассировки
  • RFC 6648 — Deprecating the "X-" Prefix and Similar Constructs in Application Protocols
  • RFC 3864 — Registration Procedures for Message Header Fields
  • RFC 2045, RFC 2046 — MIME: тип содержимого письма
  • RFC 2047 — MIME: символы не из ASCII в заголовках
  • RFC 6376 — DomainKeys Identified Mail (DKIM) Signatures
  • RFC 7208 — Sender Policy Framework (SPF)
  • RFC 8601 — Message Header Field for Indicating Message Authentication Status
  • RFC 9228 — Delivered-To Email Header Field
  • RFC 3834 — Recommendations for Automatic Responses to Electronic Mail: заголовок Auto-Submitted