Кратко

  • RFC 5233 добавил :user и :detail к сравнению адресов в Sieve, но не стандартизировал ни разделитель, ни универсальный формат адресов с метками.
  • За локальное кодирование отвечает принимающая почтовая система; в конверте to может сохраниться деталь, которой нет в видимом заголовке.

Знак был местным; граница стала частью контракта

Деталь в адресе может направить письмо в папку, обозначить подписку на список рассылки или отличить голосовой ящик. Знак плюса — привычный, но всего лишь один пример. Опубликованный в январе 2008 года RFC 5233 добавил Sieve две части адреса для сравнения: :user и :detail. Он определил доступные фильтру фрагменты, но не общую для всей почты грамматику адреса.

Локальная часть адреса интерпретируется в конкретной почтовой системе. RFC показывает деталь после пользователя через +, а также перед ним через . Если последовательность-разделитель встречается в локальной части несколько раз, способ деления определяется реализацией и обычно зависит от формата почтовой системы. Реализация обязана соответствовать кодированию, которое система использует или разрешает; способы определить или запросить этот формат в RFC не рассматриваются. Поэтому фильтр не должен считать + признаком детали только потому, что так поступает другой провайдер.

Если закодированной детали нет, :user обозначает всю локальную часть — то же, что :localpart в Sieve. В этом случае :detail не совпадает ни с одним запрошенным ключом. Если деталь есть, но она нулевой длины, её значение — пустая строка. Так стандарт различает отсутствующую часть и присутствующую, но пустую.

RFC 5233 различает и источник адреса. Тест address рассматривает структурированные заголовки сообщения; необязательный тест envelope работает с транспортным конвертом. Если почту сортируют по адресу, из-за которого она поступила конкретному получателю, RFC в большинстве случаев предпочитает to из конверта. Список рассылки, алиас или виртуальный домен могут сделать его единственным местом, где сохранилась деталь для этого получателя. Применение локального формата к чужому адресу — например, к адресу отправителя — может дать непоследовательный или неверный результат.

RFC 5233 заменил ранний текст RFC 3598. В примечаниях к изменениям сказано, что описание кодирования стало общим, а предупреждения о конверте и чужих адресах появились в новой редакции. В реестре IANA зарегистрирована возможность subaddress, но такая запись не гарантирует, что каждая система принимает определённый формат. Sieve сравнивает предоставленную локальную интерпретацию, но не задаёт её и не доказывает, как был создан почтовый ящик.

Источники