#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 у каждого почтового уведомления есть свой набор заголовков. Настраивать его может администратор.
- Откройте Настройки - Настройки почтовых шаблонов и выберите уведомление. Подробнее о разделе — в статье Настройки почтовых шаблонов.
- В блоке Настройки найдите поле Заголовки.
- Укажите заголовки JSON-объектом: ключ — название заголовка, значение — строка.
- Нажмите Сохранить.
{
"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 тоже не пройдёт.
| Заголовок | Кто и зачем его проставляет | Стандарт |
|---|---|---|
Subject | Swarmica, из темы в шаблоне уведомления | RFC 5322, раздел 3.6.5 |
From | Swarmica, адрес email-канала, через который уходит письмо | RFC 5322, раздел 3.6.2 |
Date | Swarmica, время отправки | RFC 5322, раздел 3.6.1 |
Message-ID | Swarmica, уникальный идентификатор письма. В уведомлениях ticket_created_* и ticket_comment_* он содержит подписанный номер заявки: по нему Swarmica находит заявку, к которой относится вернувшийся отчёт о недоставке | RFC 5322, раздел 3.6.4 |
In-Reply-To | Swarmica, чтобы уведомление попало в ту же цепочку, что и письма получателя в заявке | 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 и DMARC | RFC 8601 |
Received | Каждый почтовый сервер на пути письма | RFC 5321, раздел 4.4; RFC 5322, раздел 3.6.7 |
Received-SPF | Сервер получателя, результат проверки SPF | RFC 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