Fórum Root.cz

Hlavní témata => Server => Téma založeno: MP 10. 04. 2015, 10:27:56

Název: Dovecot a Sieve: autoreply přes alias
Přispěvatel: MP 10. 04. 2015, 10:27:56
Zdravim,
nejak nemuzu najit vhodnou kombinaci pro zprovozneni posilani automaticke odpovedi, pokud dojde email na alias ke konkretnimu uctu. Je to postavene nad Debian Jessie, postfix, amavis, dovecot s ucty v db, sieve. Ridil jsem se mimojine http://serverfault.com/questions/624916/postfix-virtual-users-dovecot-sieve-envelop-does-not-contain-original-rec (http://serverfault.com/questions/624916/postfix-virtual-users-dovecot-sieve-envelop-does-not-contain-original-rec) apod.:

Trasa emailu:
internet -> postfix -> amavis -> postfix -> dovecot-lda

postfix main.cf:
Kód: [Vybrat]
enable_original_recipient = yes
dovecot_destination_recipient_limit = 1

postfix master.cf:
Kód: [Vybrat]
....smtpd
    -o ...
    -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhuO user=vmail:mail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient} -a ${recipient}

dovecot 15-lda.conf (nefunguje ani kdyz je to povolene):
Kód: [Vybrat]
# lda_original_recipient_header = X-Original-To
dovecot 90-sieve.conf:
Kód: [Vybrat]
sieve_vacation_use_original_recipient = yes
V logu:
Citace
Apr 10 09:55:53 lda(SOMEUSER@SOMEDOMAIN: Info: sieve: msgid=<MSGID>: size=8230 discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=<SOMEUSER@SOMEDOMAIN>, original-recipient=<SOMEUSER@SOMEDOMAIN>, and no additional `:addresses' are specified)
Hlavicky v emailu:
Kód: [Vybrat]
X-Original-To: SOMEUSER@SOMEDOMAIN
To: <SOMEUSERALIAS@SOMEDOMAIN>

Testy natvrdo:
Kód: [Vybrat]
/usr/lib/dovecot/dovecot-lda -d SOMEUSER@SOMEDOMAIN -f SENDER@SOMEDOMAIN -a SOMEUSERALIAS@SOMEDOMAIN -p MSG
Apr 10 10:03:44 lda(SOMEUSER@SOMEDOMAIN): Info: sieve: msgid=<MSGID>: size=1236 sent vacation response to <SENDER@SOMEDOMAIN>

Kde je tedy chyba, ze dovecot-lda skrz postfix potrebne info nema ?
Název: Re:dovecot + sieve autoreply pres alias
Přispěvatel: Kriegel 10. 04. 2015, 11:36:24
v master.cf pouzivas stejne makro pro -a i -d, ac pri testovani pouzivas hodnoty rozdilne...
Takze bud ${original_recipient} makro v -a parametru, nebo to, co rikas, ze nefunguje -- ale bez -a parametru... Presne tak, jak je to popsano v tom odkazu.
Duvod, proc to nic neposila je ten, ze v hlavicce emailu je SOMEUSERALIAS@ ale Postfix tvrdi, ze envelope je SOMEUSER@, takze no match, no mail :P

Vic tady: http://wiki2.dovecot.org/Pigeonhole/Sieve/Extensions/Vacation (http://wiki2.dovecot.org/Pigeonhole/Sieve/Extensions/Vacation)
Název: Re:dovecot + sieve autoreply pres alias
Přispěvatel: MP 10. 04. 2015, 12:12:41
1]
Kód: [Vybrat]
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhuO user=vmail:mail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient} -a ${original_recipient}

# lda_original_recipient_header = X-Original-To

Citace
Apr 10 12:06:12 lda(SOMEUSER@SOMEDOMAIN): Info: sieve: msgid=<MSGID>: size=1209 discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=<SOMEUSER@SOMEDOMAIN>, original-recipient=<SOMEUSER@SOMEDOMAIN>, and no additional `:addresses' are specified)

2]
Kód: [Vybrat]
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhuO user=vmail:mail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}

lda_original_recipient_header = X-Original-To

Citace
Apr 10 12:09:18 lda(SOMEUSER@SOMEDOMAIN): Info: sieve: msgid=<MSGID>: size=1209 discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=<SOMEUSER@SOMEDOMAIN>, original-recipient=<SOMEUSER@SOMEDOMAIN>, and no additional `:addresses' are specified)

Problem je, ze nefunguje ani jedna varianta...
Název: Re:dovecot + sieve autoreply pres alias
Přispěvatel: Kriegel 10. 04. 2015, 20:39:15
Nepouzivam dovecot-lda, ale lmtp, nicmene jsem to zkusil switchnout a funguje to.
Problem bych videl v brzke expanzi aliasu -- ta by mela probehnout az "napodruhe", pote, co je zprava injectnuta z filtru zpet do postfixu. Spousta navodu na netu expanzi provadi uz pred filtrem...

Jedna se o no_address_mappings z receive_override_options, viz http://www.postfix.org/FILTER_README.html (http://www.postfix.org/FILTER_README.html)


Název: Re:Dovecot a Sieve: autoreply přes alias
Přispěvatel: PVES 12. 04. 2015, 20:47:42
Ahoj MP.
Mám stejný problém. Podařilo se to to nějak vyřešit ?
P.
Název: Re:Dovecot a Sieve: autoreply přes alias
Přispěvatel: MP 13. 04. 2015, 10:39:42
Tak nakonec diky Kriegelovi se to podarilo zprovoznit. Ono to trochu souviselo s tim, ze tu dlouhodobe bezely 2 servery, mezi kterymi se musely premapovavat emaily z duvodu, ze uzivatele a schranky byly na obou dvou a autorizacni vrstva byla pro kazdy zvlast a dochazelo tak k duplikaci nekterych emailu, takze "no_address_mappings" bylo nekde povoleno, nekde zakazano jak v main.cf, tak v master.cf u jednotlivych sluzeb.
Takze celkova funkcni konfigurace (vcetne vsech vyskytu "no_address_mappings"):
Kód: [Vybrat]
main.cf:
receive_override_options = no_address_mappings

master.cf
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhuO user=vmail:mail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}

15-lda.conf
lda_original_recipient_header = X-Original-To

90-sieve.conf
sieve_vacation_use_original_recipient = yes
Název: Re:Dovecot a Sieve: autoreply přes alias
Přispěvatel: MP 13. 04. 2015, 10:41:42
Abych nezapomel, tohle je potreba taktez pro X-Original-To:

Kód: [Vybrat]
main.cf
enable_original_recipient = yes
dovecot_destination_recipient_limit = 1