Fórum Root.cz
Hlavní témata => Server => Téma založeno: 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:
enable_original_recipient = yes
dovecot_destination_recipient_limit = 1
postfix master.cf:
....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):
# lda_original_recipient_header = X-Original-To
dovecot 90-sieve.conf:
sieve_vacation_use_original_recipient = yes
V logu:
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:
X-Original-To: SOMEUSER@SOMEDOMAIN
To: <SOMEUSERALIAS@SOMEDOMAIN>
Testy natvrdo:
/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 ?
-
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)
-
1]
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
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]
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
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...
-
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)
-
Ahoj MP.
Mám stejný problém. Podařilo se to to nějak vyřešit ?
P.
-
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"):
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
-
Abych nezapomel, tohle je potreba taktez pro X-Original-To:
main.cf
enable_original_recipient = yes
dovecot_destination_recipient_limit = 1