Exim: Форвард на основе получателя в скрытой копии - PullRequest
2 голосов
/ 09 ноября 2011

В настоящее время я фильтрую входящие письма по .forward следующим образом:

if $header_to: matches "(office|info)@domain.com" then
    save Maildir/.office/
endif
if $header_to: matches "whatever@domain.com" then
    save Maildir/.whatever/
endif

Итак, у меня есть почтовый аккаунт, который получает письма на разные адреса. По сути, я хочу, чтобы они приземлялись в разных подкаталогах в зависимости от адреса, на который было отправлено письмо.

Это работает для писем, в которых получатель находится в to -заголовке, но не работает, если получатель был в bcc.

Когда получено письмо, отправленное с заголовком bcc, только заголовок envelope-to соответствует реальному адресу, на который доставляется почта, и упоминается в заголовке Received

Envelope-to: office@domain.com

Received: from mail.other.domain ([1.1.1.1])
    by mail.domain.com with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
    (Exim 4.71)
    (envelope-from <sender@other.domain>)
    id 1RO5xc-0001TF-Qj
    for office@domain.com; Wed, 09 Nov 2011 12:04:57 +0100
...
To: can_be_anything@whatever.com

Я уже пробовал:

if $header_envelope-to: matches ...

но это не работает, письма не фильтруются вообще, даже если они отправляются с To -заголовком (похоже, что Envelope-To -заголовок недоступен в forward-файлах). Должен ли я попытаться проанализировать (несколько) Received -headers?

Как я могу переместить письма в подкаталог получателя на основе реального адреса получателя?

Ответы [ 2 ]

1 голос
/ 20 марта 2012

похоже, что я наконец нашел ответ.

if $original_local_part matches "office|info" then
    save Maildir/.office/
endif

Это проверяет только local_part, но afaik может быть расширен и для использования домена тоже с $original_domain (см. документ )

0 голосов
/ 03 сентября 2015

Переменная $recipients содержит всех (to, cc и bcc) получателей.Вы пробовали это?

...