Ako zmenit maildir

fleg

Ako zmenit maildir
« kdy: 29. 08. 2012, 22:44:03 »
Pouzivam uz roky kombinaciu Postfix+Courier+Mysql a najnovsie, kde je viac domen a adries aj Postfixadmina. Na Squeezy serveroch mam vsak nasledovny problem.
Postfixadmin "vytvori" maildiry v tvare /home/vmail/user@domena.tld a nie v tvare /home/vmail/domena.tld/user@domena.tld. Presiel som konfigy Postfixu aj couriera, zvysil som debuging level, takze som studoval asi 100 riadkov v logu pri vytvarani maildiru a posielani uvitacieho mailu a som rovnako sprosty ako som bol na zaciatku.
Jedine co sa totizto zmenilo je, ze som presiel casom na novych serveroch na novsie verzie Postfixu+couriera a postfixadmina. V konfigoch nevidim ziaden rozdiel, trosku sa zmenili tabulky, ale tam problem nevidim.
Vyzera to akoby maildrop(?) vytvoril proste len adresar z uzivatela a na domenu sa vykaslal, lenze ja netusim preco.


Re:Ako zmenit maildir
« Odpověď #1 kdy: 30. 08. 2012, 07:46:51 »
A co takhle k tomu dodat víc informací?

Třeba

1. verze všech dotčených sw
2. grep maildrop master.cf
3. maildrop -V 7 -d <user>
4. main.cf:
  virtual_mailbox_domains = ?
  virtual_transport = ?
  virtual_mailbox_maps = ?
  virtual_alias_maps = ?
  mailbox_command = ?
  mailbox_command_maps = ?
5.  obsahy map souboru?
6. maildroprc?
7. co rika sendmail -bv <user> ?

Re:Ako zmenit maildir
« Odpověď #2 kdy: 30. 08. 2012, 13:13:59 »
No zalezi co pouzivas ako local delivery agent. Ak je to maildrop, tak tomu to musis povedat aby vytvaral ake chces.

fleg

Re:Ako zmenit maildir
« Odpověď #3 kdy: 30. 08. 2012, 20:04:52 »
No to je ta otazka, na ktoru neviem odpoved. Kedze nemam definovany lokalneho delivery agenta v konfigu Postfixu (main.cf), tak som si myslel, ze je to maildrop. Ale vraj je to procmail. Ok problem je, ze nemam na servri konfiguradcny subr jak maildropu tak procmailu, cize asi bezia zase v nejakom defaulte.
Myslim, ze problem bude v defaulte maildropu(procmailu), starsie verzie debianu asi mali nastavene nieco ine ako ma Squeezy.
Odpoviem, este an otazky predrecnika.
1. Verzie sw su vsetko z depozitarov Squeezy, cize na http://packages.debian.org/squeeze/mail/
2. Standard Postfixu
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
3. Toto asi nema zmysel, kedze mam virtual users z mysql a nie systemovych
4. Konfig mam robeny podla starsich konfigov a http://codepoets.co.uk/2009/postfixadmin-setupinstall-guide-for-virtual-mail-users-on-postfix/
Podtstatne je, ze nemam definovany mailbox_command (takze asi ten procmail?) a ostatne je klasicky
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/virtual_alias_maps.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/virtual_mailbox_maps.cf
virtual_mailbox_base = /home/vmail
local_recipient_maps = $virtual_mailbox_maps
Obsahy map suborov su z rovnake ako vo vyssie zmienovanom howto
Maildroprc nemam
Posledny prikaz nieviem, co ma dokazat, prikladam vypis.
root@hosting:/etc/postfix# sendmail -bv fleg
Mail Delivery Status Report will be mailed to <root>

Re:Ako zmenit maildir
« Odpověď #4 kdy: 30. 08. 2012, 20:19:29 »
Posledny prikaz nieviem, co ma dokazat, prikladam vypis.
Nejde o vypis, jde o to, ze se stane to, co pise:

Citace
Mail Delivery Status Report will be mailed to <root>

Takze to chce jeste ten mail, co prisel rootovi.


Re:Ako zmenit maildir
« Odpověď #5 kdy: 30. 08. 2012, 20:22:54 »
Jo a co se týče toho "nevím, co mi to doručuje", tak to najdeš mj. v logu postfixu:

Citace
Aug 30 19:44:31 XXXXX postfix/local[40444]: XXXXXXXXXX: to=<XXXXX@XXXXX.cz>, relay=local, delay=0.17, delays=0.01/0.01/0/0.15, dsn=2.0.0, status=sent (delivered to command: /usr/local/bin/procmail)

fleg

Re:Ako zmenit maildir
« Odpověď #6 kdy: 30. 08. 2012, 22:08:12 »
Nastavil som debug_peer_level na 5 a napriek tomu vidim len toto;
Citace
Aug 29 19:53:16 hosting postfix/virtual[1639]: BEFF86EA1E: to=<asdf@kratatest.sk>, relay=virtual, delay=0.13, delays=0.09/0.01/0/0.03, dsn=2.0.0, status=sent (delivered
 to maildir)

Re:Ako zmenit maildir
« Odpověď #7 kdy: 30. 08. 2012, 22:31:38 »
Nastavil som debug_peer_level na 5 a napriek tomu vidim len toto;

No však to je to, cos potřeboval vědět - přes žádný externí program se nedoručuje, takže pak už jenom nastudovat http://www.postfix.org/virtual.8.html

fleg

Re:Ako zmenit maildir
« Odpověď #8 kdy: 30. 08. 2012, 22:59:11 »
No a to je ten problem, pretoze konfig a cf subor mam rovnaky ako na starsom systeme a napriek tomu sa ta domena vynecha.
base mam definovany virtual_mailbox_base = /home/vmail
maps mam definovany ako virtual_mailbox_maps = proxy:mysql:/etc/postfix/virtual_mailbox_maps.cf
kde je query = SELECT maildir FROM mailbox WHERE username='%s' AND active = true
mailbox je tabulka a maildir a username polia v nej.
Otazka znie preco mam v maildir poli zapisany maildir v tvare user@domena.tld a nie domena/user@domena.tld a kto ho tam tak zapisal, ked starsia verzia debiana mi ho zapisala v tvare aj s domenou?

Re:Ako zmenit maildir
« Odpověď #9 kdy: 30. 08. 2012, 23:28:06 »
Asi nechápu pointu.

1. Maily ti doručuje sám postfix. Procmail je samostatný program, který s postfixem nemá vůbec nic společnýho. Těžko se teda může něco defaultně doručovat přes procmail.

2. Že se opravdu nedoručuje ničím jiným, než pomocí virtual(8), jsme vyloučili pomocí záznamu z logu.

3. v tom manu, co jsem odkazoval, se píše naprosto jasně:

Citace
The mailbox pathname is constructed as follows:

         $virtual_mailbox_base/$virtual_mailbox_maps(recipient)

       where recipient is the full recipient address

...takže se to chová přesně tak, jak je v manu.

Jestli se to někdy chovalo nějak jinak, tak jsi to měl asi nějak jinak nastavený, nebo to byla nějaká verze, která se prostě chovala jinak. Nechápu, co řešíš.

fleg

Re:Ako zmenit maildir
« Odpověď #10 kdy: 30. 08. 2012, 23:45:57 »
No vidis mne dnes tvrdil miestny guru, ktoremu celkom verim, ze postfix si nic sam nedorucuje, ze odjakziva dorucuje postu procmail. Mne nebolo preto jasne, preco sa musel procmail kedysi definovat v konfigu potom.
Co riesim? No, ze ak mas desiatky domen a stovky maildirov lepsie sa v tom orientuje, ked to mas na disku rozdelene aj podla domen, nielen podla mailboxov.
Na verzii 2.1.5 mi to funguje tak ako som popisal, mozno sa nieco zmenilo medzitym v postfixe samotnom. Riesenim by asi bolo pouzitie maildropu alebo procmailu predpokladam s nastavenim ich konfigov.

Re:Ako zmenit maildir
« Odpověď #11 kdy: 30. 08. 2012, 23:52:00 »
No vidis mne dnes tvrdil miestny guru, ktoremu celkom verim, ze postfix si nic sam nedorucuje, ze odjakziva dorucuje postu procmail.
Hm :)

Riesenim by asi bolo pouzitie maildropu alebo procmailu predpokladam s nastavenim ich konfigov.
Nemám s virtuálama zkušenosti, takže neumím poradit, co je nejlepší, ale spíš bych asi jako první krok vyzkoušel, jestli náhodou ta mapa virtual_mailbox nemůže obsahovat i cestu. Proč by nemohla? Prostě user@domain.cz by se namapovalo na domain.cz/user@domain.cz. Ale jak říkám, vyzkoušený to nemám, snad někdo jinej poradí trochu inteligentnějc :)

Re:Ako zmenit maildir
« Odpověď #12 kdy: 31. 08. 2012, 12:26:53 »
Pomocou prikazu postconf zistis ktory je tvoj LDA

fleg

Re:Ako zmenit maildir
« Odpověď #13 kdy: 31. 08. 2012, 20:32:02 »
Takze moj lokalny guru, ktory sa tak sekol s tym Procmailom zabodoval a tu je riesenie.
"Chyba" bola ako som spravne tusil vo volani virtual_mailbox_maps.cf, kde som mal:
Citace
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = true
toto som nahradil:
Citace
query = SELECT concat(domain, '/', maildir) as maildir FROM mailbox WHERE username='%s' AND active = true
a teraz mam maildir napriklad v tvare /home/vmail/gerphi.com/ivan@gerphi.com

Re:Ako zmenit maildir
« Odpověď #14 kdy: 31. 08. 2012, 20:36:06 »
Tak jsem to tipl správně, že by to takhle mohlo jít, to jsem rád :)