Определяет видимое пользователю транзакционное и опциональное поведение электронной почты, включая приоритет предпочтений, безопасные ссылки, группировку сообщений, доступность, локализацию, конфиденциальность и достоверную историю доставки внутри продукта.
Статус пакета: справочный контекст готов к проверке человеком. Контракт и тестовые сценарии завершены, но не гарантируется, что внедренная реализация их прошла.
Решение
Классифицировать каждое письмо по назначению перед применением предпочтений. Важные служебные сообщения используют минимально необходимое содержание; опциональные сообщения требуют соответствующей политики согласия. Состояние внутри продукта остается авторитетным при задержках или сбоях доставки по электронной почте.
Область применения
- Классы назначения, получатели, правила предпочтений, структура содержания, локализация, ссылки, группировка, статус доставки, отписка и поведение поддержки.
- Электронная почта, видимая пользователю, инициируемая событиями продукта.
- Координация между состоянием продукта и историей коммуникаций.
Вне этого блока
- Механизмы повторной отправки провайдера, внутренности рендеринга шаблонов или юридическая классификация для каждой юрисдикции.
- Использование электронной почты как единственной долговременной записи действия.
Контракт
- Каждое уведомление объявляет назначение, аудиторию, срочность, категорию предпочтений, классификацию данных и исходное событие.
- Определение получателя происходит во время отправки из авторизованного канала аккаунта; адреса из произвольной полезной нагрузки события не доверяются.
- Тема и пре-хедер идентифицируют сервис и действие без раскрытия лишних конфиденциальных данных.
- Сообщение объясняет, что произошло, кто или что инициировал событие, когда это случилось и безопасное следующее действие.
- Ссылки используют одобренный источник, минимизируют передачу учетных данных и направляют через страницу подтверждения для важных действий.
- Продукт отображает состояние доставки отдельно от базового бизнес-действия и не гарантирует попадание в почтовый ящик.
Рекомендации по реализации
- Используйте multipart текст и HTML с семантическими заголовками, осмысленными текстами ссылок, достаточной контрастностью и полезным альтернативным текстом.
- Локализуйте согласно предпочтениям получателя, зафиксированным во время события или отправки, в соответствии с документированной семантикой продукта.
- Устанавливайте стабильные идентификаторы сообщений и корреляции для группировки и поддержки.
- Обеспечьте маршрут предпочтений для опциональных категорий и маршрут для отчетов о безопасности для неожиданных сообщений.
Обработка сбоев и меры безопасности
- Если определение получателя неоднозначно или статус канала не подтвержден, подавляйте чувствительную доставку и отображайте внутреннюю ошибку.
- При сбое доставки сохраняйте действие продукта и при необходимости предлагайте путь восстановления внутри продукта.
- При смене владельца аккаунта не отправляйте отложенный контент на новый адрес без повторного разрешения.
Проверка и эксплуатация
- Измеряйте результаты по назначению: запрошенные, подавленные предпочтениями, отрендеренные, принятые, возвращенные, с жалобами, задержанные и завершенные действия.
- Аудит содержания на наличие чувствительных полей и просроченных ссылок с использованием фикстур.
- Проводите обзор сообщений с высоким объемом или количеством жалоб совместно с владельцами продукта и конфиденциальности.
Примеры, похожие на исполняемые, в этом пакете являются фикстурами и контрактами приемки. Запустите
python tools/validate.py из корня коллекции для проверки структуры пакета и метаданных; затем
реализуйте и выполните сценарии в целевом репозитории.
Предположения по внедрению
- Имена и числовые значения в
example.yaml— это профиль внедрения, а не универсальные значения по умолчанию. - Команда внедрения должна сопоставить участников, классы данных, словарь ошибок и владение со своей системой.
Ссылки
- Внешний нормативный источник не требуется; этот пакет определяет решение проекта.