Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w wątku Administracja.
Wątki z problemami zamieszczone w dziale "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Autor Wątek: Postfix zapisywanie adresów sender i recipient do pliku  (Przeczytany 1081 razy)

Offline slawekp87

  • Newbie
  • *
  • Wiadomości: 1
  • Reputacja: +0/-0
Postfix zapisywanie adresów sender i recipient do pliku
« dnia: 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.

Offline TataPingu

  • Hero Member
  • *****
  • Wiadomości: 1457
  • Reputacja: +0/-0
Odp: Postfix zapisywanie adresów sender i recipient do pliku
« Odpowiedź #1 dnia: 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