Вопрос или проблема
Я получаю письма из списков рассылки, которые меняют адрес From: на адрес списка для улучшения репутации – они также перемещают исходный адрес From: в заголовок Reply-To:.
Обычно я использую сохранение-хук на основе происхождения письма:
save-hook "~f '^local\.part@domain\.part$'" '=nickname'
что не работает в этом случае.
Я ищу решение, чтобы сначала проверить, есть ли заголовок Reply-To:, и если да, соответствует ли он адресу, в противном случае проверить заголовок From:.
(Для получателей есть удобный ~C, но, похоже, нет модификатора, который совпадает с From: и/или Reply-To: – и даже если бы был, я предпочел бы Reply-To: над From: в этом случае.)
.
Ответ или решение
Тема использования заголовков "Reply-To" и "From" для настройки правила сохранения писем является важной для тех, кто активно работает с почтовыми рассылками. В контексте услуг, где заголовок "From" изменяется на адрес списка рассылки для улучшения репутации, оригинальный заголовок отправителя переносится в "Reply-To". Поэтому стандартные правила сохранения, базирующиеся на исходном "From", становятся неэффективными.
Теория
В электронной почте заголовок "From" обычно указывает на исходного отправителя сообщения. Однако в случае рассылок, для предотвращения проблем с доменной репутацией и увеличения доставки, службы изменяют "From" на адрес самого списка. Это стандартная практика, которая может смутить автоматизированные системы, пытающиеся отсортировать почту по оригинальным отправителям. Здесь вступает в силу заголовок "Reply-To", который хранит оригинальный адрес отправителя и который желательно учитывать.
"Reply-To" используется для указания альтернативного адреса для ответа на электронное письмо, когда автоматизированные фильтры должны учитывать фактического отправителя. Следовательно, для точной настройки правила пригодится учитывать этот заголовок, а не исключительно "From".
Пример
Ваша задача заключается в создании правила, которое сначала проверяет наличие "Reply-To" и использует его для срабатывания "save-hook". Если "Reply-To" отсутствует или не совпадает с желаемым паттерном, тогда проверяется "From". Системы вроде Mutt, которые поддерживают разнообразные хуки, включая "save-hook", должны быть настроены для работы с таким алгоритмом выбора адреса.
Применение
Вы можете внедрить это через условные проверки в вашей конфигурации. Вот пример кода, который демонстрирует эту логику:
# Проверка на соответствие паттерну в заголовке "Reply-To" или, если отсутствует, в "From"
save-hook '~h "^Reply-To: local\.part@domain\.part$" | (echo ~h "^From: local\.part@domain\.part$" )' '=nickname'
В этом скрипте ~h
используется для указания заголовков, а символ |
выступает как условное «ИЛИ», что позволяет проверить наличие "Reply-To" прежде чем проверять "From".
Дальнейшие улучшения
Расширьте этот подход, чтобы более гибко работать с различными адресами отправителей в зависимости от рассылки. Например, если используются и другие заголовки, такие как "Return-Path" или "Sender", рассматривайте их в последующих проверках. Главное — обеспечить, чтобы каждый этап проверки был четким и верифицированным, для минимизации ошибок в обработке входящей почты.
Таким образом, следуя поэтапному подходу, вы сможете настроить свой почтовый клиент на более точную обработку сообщений, улучшая сортировку и сохранение писем, и избегаете потери важной информации из-за неправильного захвата отправителя. Это улучшит общую производительность системы обработки почты и повысит общее удобство работы с почтовыми рассылками.