postfix i virtualne konta przez procmaila

Adam Zaleski netlest w dione.ids.pl
Czw, 3 Lut 2005, 23:29:40 CET


Witaj kuba,

W Twoim liście datowanym 3 lutego 2005 (09:50:46) można przeczytać:

> virtual_alias_maps = mysql:/etc/mail/mysql_virtual_alias_maps.cf
> virtual_mailbox_domains =
> mysql:/etc/mail/mysql_virtual_domains_maps.cf
> virtual_mailbox_maps = mysql:/etc/mail/mysql_virtual_mailbox_maps.cf
> virtual_transport = virtual

> Czyli nijak sie tego nie da z procmailem zbratac?

Da się. U mnie jest tak:

na końcu /etc/postfix/master.cf dodałem 2 nowe transporty:

procmail  unix  -       n       n       -       -       pipe
  user=vmail argv=/usr/bin/procmail -a $recipient /etc/procmaile/$recipient ${recipient}

procmaill  unix  -      n       n       -       -       pipe
  user=vmail argv=/usr/bin/procmail -a $recipient /etc/procmailrc ${recipient}


Jak widzisz transport procmaill jest transportem którego używam
domyślnie, korzysta on z pliku globalnego /etc/procmailrc  który
dotyczy wszystkich kont w systemie. Odpalam za jego pomocą np
bogofiltera. Można dla konkretnego użytkownika podać transport
procmaill wtedy bedzie szukał configa w /etc/procmaile/login w serwer.pl.
Daje mi to możliwośc stworzenia osobnej konfiguracji dla każdego
usera. Można latwiej napisac jakis ficzer w cgi i  umozliwic
zarządzanie swoim kontem userom. To tylko przykład.

1. Jak bedziesz dodawał transporty to uwazaj jak są wpisane.
Ja sie nameczylem bo błąd w postaci spacji za dużo może juz
generować błędy. Najlepiej zobacz jak masz transporty wyrzej w pliku.
Skopiuj przykładowy i zmodyfikuj w podany przeze mnie sposób.

2. Pamiętaj, że w przypadku jesli podasz nowozałożonemu kontu
   transport procmail lub procmaill to nie zostanie utworzony
   automatycznie katalog domowy dla konta podczas otrzymania
   pierwszego listu.. Ja  mam panel w php dodawnia kont..
   Najpierw dodaje ono konto z transportem virtual.. potem wysyła
   powitalnego maila a co za tym idzie tworzy  folder domowy..
   a potem zmienia transport na "procmaill".

3. Pamiętaj o dodaniu opcji :

procmail_destination_recipient_limit = 1
procmaill_destination_recipient_limit = 1

do pliku  main.cf. Bez nich postfix bedzie odrzucał
listy adresowane do kilku adresatów!!


4. Moj /etc/procmailrc jest taki w tym przypadku:

SHELL=/bin/bash
HOME=/home/poczta/$1
MAILDIR=$HOME
DEFAULT=$HOME/new
LOGFILE=/tmp/procmaill.log
DROPPRIVS=yes

-- 
pozdrawiam
Adam Zaleski





Więcej informacji o liście dyskusyjnej pld-users-pl