Нет подадреса: деталь детали в тесте конверта

Я пытаюсь фильтровать письма по субадресу: детали в скриптах сита .

Целью является использование шаблонов регулярных выражений, как в этом простом тестовом примере:

if envelope :detail :regex "to" ["^test$"]{                                                                                                             
  fileinto "Social";
  stop;
}
if envelope :detail ["to"] ["test"]{
  fileinto "Social";
  stop;
}

Ни один из сценариев не работает.

Если я включу трассировку в моей конфигурации dovecot, я вижу, что адрес, sieve пытается Извлечение детали из больше не содержит детали детали, в то время как заголовок «Кому», используемый для проверки заголовка в том же скрипте, содержит.

12: header test
12:   starting `:regex' match with `i;ascii-casemap' comparator:
12:   extracting `to' headers from message
12:   matching value `"user+test@domain.net" <user+test@domain.net>'
12:     with regex `.*blogs' [id=0] => 0
12:   finishing match with result: not matched
12: jump if result is false
12:   jumping to line 18
18: envelope test
18:   starting `:regex' match with `i;ascii-casemap' comparator:
18:   getting `to' part from message envelope
18:   extracting `detail' part from address `user@domain.net'
18:   finishing match with result: not matched
18: jump if result is false
18:   jumping to line 22
22: envelope test
22:   starting `:is' match with `i;ascii-casemap' comparator:
22:   getting `to' part from message envelope
22:   extracting `detail' part from address `user@domain.net'
22:   finishing match with result: not matched
22: jump if result is false
22:   jumping to line 32

Итак, какие могут быть причины, по которым dovecot сокращает детализацию конверта?

-1
задан 8 January 2018 в 14:49
1 ответ

Что ж, предложения по вопросам, связанным с ошибками сервера, наконец привели меня на правильный путь.

Как было предложено в этом решении , проблема не в голубятне или решетке, а в постфиксе . Поэтому я изменил следующую строку в моем postfix master.cf, чтобы отправлять не только пользователя и домен, но и исходный адрес получателя.

# old
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
# new
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -a ${original_recipient}
0
ответ дан 5 December 2019 в 20:22

Теги

Похожие вопросы