Linuxiarze.pl Forum

Oprogramowanie => Inne => Wątek zaczęty przez: slawekp87 w Lipiec 08, 2018, 08:48:57 am

Tytuł: Postfix zapisywanie adresów sender i recipient do pliku
Wiadomość wysłana przez: slawekp87 w Lipiec 08, 2018, 08:48:57 am
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.
Tytuł: Odp: Postfix zapisywanie adresów sender i recipient do pliku
Wiadomość wysłana przez: TataPingu w Lipiec 08, 2018, 08:30:19 pm
"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