Я использую Discourse на собственном хостинге и ищу способ добавить пользовательский заголовок, а именно X-TAGS, в исходящие письма. Цель — интеграция с нашим поставщиком email-услуг (Netcore Email API) для улучшенной аналитики и отслеживания. Мы хотим иметь возможность помечать определённые типы писем, например еженедельную рассылку, для более детального анализа вовлечённости пользователей.
Проблема:
Мне нужно добавлять заголовок вида X-TAGS: Digest ко всем письмам, отправляемым в виде дайджеста. Этот заголовок предназначен для внутреннего отслеживания и будет удалён провайдером email-услуг перед доставкой, поэтому конечный пользователь его не увидит.
Что я уже исследовал:
Настройки сайта: Я просмотрел страницу /admin/site_settings/category/email и нашёл настройку «Пользовательские заголовки email». Однако, похоже, она добавляет статический заголовок ко всем письмам. Я не уверен, можно ли сделать это динамичным или применить только к определённому типу писем (например, к дайджесту).
Существующие темы на форуме: Я искал на форумах Discourse Meta и нашёл обсуждения о пользовательских заголовках, но они в основном касаются добавления тегов темы в тему письма или для фильтрации на стороне пользователя (например, в Gmail), а не для внешней email-аналитики. По-видимому, нет простого, официально документированного способа сделать это.
Мои вопросы:
Есть ли встроенный метод или конкретная настройка сайта, которую я упускаю, позволяющая добавить пользовательский заголовок, например X-TAGS, именно к письмам дайджеста?
Если нет, можно ли реализовать эту функцию с помощью пользовательского плагина?
Является ли изменение исходного кода ядра единственным решением, и если да, то могли бы вы направить меня в правильном направлении (например, указать, какие файлы стоит изучить)?
Любые советы или предложения будут очень кстати. Заранее благодарю за помощь!
Нет, это не поддерживается «из коробки», за исключением настройки сайта «email custom headers», которая применяется глобально ко всем исходящим письмам.
Да, в данном случае лучшим решением будет пользовательский плагин.
Текущий процесс для сводных писем выглядит следующим образом:
Плагин может перехватить процесс построения сообщения (Email::MessageBuilder) и условно внедрить ваш пользовательский заголовок (предпочтительно через модификатор) только для сводных писем.