Portál AbcLinuxu, 5. května 2025 15:10

Dotaz: postfix, doručování přes dovecot

5.3.2018 10:50 chinook | skóre: 28
postfix, doručování přes dovecot
Přečteno: 359×
Odpovědět | Admin

Mám db v ldapu. OVěřování uživatelů přes dovecot. Ale postfix doručuje jen přes virtuály. Když rouru přesměruji na dovecot, nezná uživatele. Vše ostatní funguje. Uživatelské jméno máme jen to co je před zavináčem. Ale dovecot u některých uživatelů, jen u některých nevím proč ověřuje celý email jako usera.

Toto je v logu postfixu:
imap1 postfix/pipe[26482]: CA1E133233E: to=test@test.cz, relay=virtual, delay=0.05, delays=0.03/0.01/0/0.02, dsn=5.1.1, status=bounced (user unknown)
Toto je v master.cf
virtual unix - n n - - pipe flags=ODRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -e -f ${sender} -d ${user}
toto je v dovecot u ldapu:
user_attrs = maildrop=mail=/data/vmail/%$/Maildir, maildrop=home=/data/vmail/%$
user_filter = (&(objectClass=mailUser)(uid=%u))
pass_attrs = uid=user,userPassword=password

Chyba bude podle me v tom master. jen nevim jaka. Poradi nekdo?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.3.2018 18:44 chinook | skóre: 28
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak zjistím proměnné, jaké tam postfix posílá?

Místo toho bych si dal nějaký svůj skript a někde si nechal zobrazit proměnné sender, user atd. Jak to udělám?
virtual unix - n n - - pipe flags=ODRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -e -f ${sender} -d ${user}

5.3.2018 19:26 chinook | skóre: 28
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
Problém je podle mě v tom, že postfix doručuje na celou emailovou adresu, ale dovecot očekává jen uživatelské jméno. Jak udělat, aby mu postfix poslal to uživatelské jméno?
5.3.2018 20:03 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
https://wiki.dovecot.org/LDA/Postfix

zkusil bych
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}
nebo
virtual unix - n n - - pipe flags=ODRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -e -f ${sender} -d ${recipient}
nebo
virtual unix - n n - - pipe flags=ODRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -e -f ${sender} -d ${user}@${nexthop}
5.3.2018 20:12 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
Spatne jsem to pochopil, ty potrebujes pouze uzivatele bez domeny, tak v tom pripade to mas spravne. Aliasy se resi na urovni postfixu, takze postfix by mel poznat ze se jedna o alias a poslat to pak do spravne cilove schranky. Hledal bych problem v nastaveni postfixu.
5.3.2018 20:50 chinook | skóre: 28
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
Asi to nemám správně. Někteří uživatelé mají např. 5 emailových adres. Takže uživatelské jméno není vždy to před emailem. V těch případech to píše user neznámý. Potřebuji tam nějak doplnit skutečného usera. Vždyť postfix jej zná, protože když to doručuje přímo postfix hodí ho do spráné schránky.
6.3.2018 07:03 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
jeste v main.cf si musis nastavit spravne tabulky aliasu

virtual_alias_maps alias_maps

http://www.postfix.org/ADDRESS_REWRITING_README.html
6.3.2018 07:15 chinook | skóre: 28
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
Ale ty asi budou dobře, když postfix sám o sobě doručuje. A přes dovecot jde vyzvedávat pošta. Ono v podstatě vše chodí dobře, ale když chci doručovat přes dovecot, tak se to nedoručí. Kdyby postfix dovecotu řekl správné username, tak by to chodilo. Přitom postfix je zná, protože poštu doručuje do správných stránek.

Tak aliasy jsou dobře, ne? Chyba je v tom, že postfix dovecotu neříká správné username nebo ne?
6.3.2018 07:51 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
ja teda s ldap nemam uplne zkusenosti - ale nerikas tim dotazem na ldap ze uzivatele jsou veskere adresy co existuji - tedy vcetne aliasu? Nemaji tam byt v vylistovany pouze systemovy uzivatele resp. username a mail adresy pak prave v aliasech ?
6.3.2018 10:49 chinook | skóre: 28
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
No nemyslím si, že by v tomto byla chyba. Z postfixu to username nejde vytáhnout? Pokud bych dal ldapu správné username, tak to chodit bude.

Jinak:
main.cf virtual_alias_maps = ldap:ldapgroups

ldapgroups_query_filter = (&(mail=%s)(objectclass=mailGroup))

ldapgroups_special_result_attribute = member
Ale vzhledem k tomu, že postfix sám do schránek doručuje a chodí to již asi 10 let bez chyby, tak bych nerad do toho zasahoval.
8.3.2018 00:14 chinook | skóre: 28
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
Tak máš asi pravdu. Ale aliasy musím nějak sdělit dovecotu, aby věděl podle mailu kam doručovat.

V postfixu to mám definováno takto:
ldapgroups_query_filter = (&(mail=%s)(objectclass=mailGroup))

ldapgroups_special_result_attribute = member

Co mám vyplnit v dovecotu, aby je ověřil? Tam mám jen toto na ověření userů:
user_filter = (&(objectClass=mailUser)(uid=%u))
8.3.2018 09:07 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
Dovecot nespravuje aliasy, ale pouze fyzicke schranky. Aliasy se resi na urovni postfixu. Musis v postfixu spravne nadefinovat uzivatele a aliasy. Pak ti bude postfix zpravy posilane na aliasy spravne davat do fyzickych schranek.
8.3.2018 12:20 chinook | skóre: 28
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
Ale když je doručuje postfix, tak s tím problém nemám. Problém je až to doručuje dovecot.

Ten server používá 1000lidí. Vše běží bez problémů, jak vyzvedávání pošty přes dovecot, tak posílání a ukládání mailů do fyzických schránek přes postfix. Takže navenek je vše ok.

Co já potřebuji, je zprovonit sieve filtry, tudíž, aby do fyz. schránek do nedával postfix, ale dovecot. A dovecot to neuloží, pokud se jedná o alias. Uniká mně něco?
8.3.2018 13:49 hermelin | skóre: 21
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
pokusim se odpovedet nazorne aby to bylo jasnejsi: predstav si klasickou postovni schranku na ulici. Je na ni napsano Novakovi (mailbox - dovecot) - a nahazi se na adrese Dvorakova 1 (@dvorakova.cz). Nekdo posle dopis panu Janu Novakovi (na dopise je jmeno Jan Novak, Dvorakova 1). Postacka (postfix) prijde na adresu Dvorakova 1 a vidi schranku s napisem Novakovi. Kdo rozhodne o tom, jestli ta obalka skonci ve schrance Novakovi i kdyz ma na sobe napsano Jan Novak ? Postacka, protoze vi ze jsou na teto adrese jedni Novakovi a ze Janu Novakovi chodi posta prave do ni (Alias). Tedy aliasy resi postfix ne dovecot.
8.3.2018 13:59 chinook | skóre: 28
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
To chápu, ale ten s aliasama problém nemá, normálně je doručuje. Problém je, až tu poštu k doručení předá dovecotu, ten pak neví co s tím aliasem. Kde je tedy chyby? Mně se nabízí dvě varianty. Buď postfix sdělí dovecotu username nebo dovecot se naučí rozpoznávat aliasy. Nebo jak to myslíš ty?
5.3.2018 20:04 chinook | skóre: 28
Rozbalit Rozbalit vše Re: postfix, doručování přes dovecot
Problém je, že dovecot-lda dostane od postfixu jako uživatele to co je před zavináčem a nedá mu uživatelské jméno z ldapu. Jak to opravím? Chyba je v nastavení dovecot nebo postfixu?

Jak to má fungovat? Postfix předá username dovecotu nebo dovecot si uživatele dohledá podle emailové adresy?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.