Witam,
mam postawiony serwer pocztowy postfix z dovecot z użytkownikami wirtualnymi w bazie danych. Mam skonfigurowane dwie domeny nazwijmy je a.pl oraz b.pl.
Potrzebuję mieć taką funkcjonalność, że jeśli osoby z domen a.pl lub b.pl lub z a.pl do b.pl przesyłają między sobą wiadomości to postfix zapisywałby automatycznie np w pliku /var/mail/adresy.txt, adres@nadawcy oraz adres@odbiorcy czyli kto do kogo, każdy wpis w nowej lini. Nie potrzebuję treści wiadomości ani nic więcej, tylko te dwa adresy.
Próbowałem zrobić to przy użyciu komendy mailbox_command
, natomiast nie udało mi się osiągnąć zamierzonego efektu.
Czy zna ktoś może jakieś inne rozwiązanie?
Z góry dziękuję za wszelkie podpowiedzi.
"Zainteresuj się" plikiem mail.log...
Np. poleceniem:
cat /var/log/mail.log | grep postfix | grep "to=<" | grep "status=sent"
otrzymasz informacje o wszystkich wysłanych mailach w takiej formie:
Mar 8 6:15:55 mailserver postfix/pipe[17596]: 753C62F9D: to=jozek@przyklad.org, orig_to=<jozek@przyklad.org>, relay=dovecot, delay=0.54, delays=0.01/0/0/0.53, dsn=2.0.0, status=sent (delivered via dovecot service)
Na podstawie ID (w tym przypadku 753C62F9D) można otrzymać jeszcze więcej informacji.
Manipulując odpowiednio ww. polecenie można ładnie wysegregować potrzebne informacje.
np poleceniem:
cat /var/log/mail.log | grep postfix | grep "to=<" | grep "status=sent" | cut -d':' -f4-5 | cut -d',' –f1
otrzymamy;
753C62F9D: to=<jozek@przyklad.org>
Resztę musisz sobie już sam przemyśleć.
Ewentualnie, zainteresuj się takimi toolsami, jak np: pflogsumm, awstats lub mailgraph