Chcesz nam powiedzieć, jakiego systemu operacyjnego używasz? Jak zauważyli inni, w większości systemów jest to / var / log / maillog. W systemie Solaris jest to / var / adm / maillog. W Debianie / Ubuntu jest to /var/log/mail.log (zwróć uwagę na kropkę).
Gerald Combs
1
tail -f / var / log / maillog
Thomas Denton
Odpowiedzi:
72
Gdzie są dzienniki?
Domyślna lokalizacja zależy od twojego systemu Linux / Unix, ale najczęściej są to miejsca
/ var / log / maillog
/var/log/mail.log
/ var / adm / maillog
/var/adm/syslog/mail.log
Jeśli go nie ma, spójrz w górę /etc/syslog.conf. Powinieneś zobaczyć coś takiego
mail.* -/var/log/maillog
sendmail zapisuje logi w mailobiekcie syslog. Dlatego plik, do którego zostanie zapisany, zależy od konfiguracji syslog .
Jeśli system używa syslog-ng (zamiast bardziej „tradycyjnego” syslog ), będziesz musiał wyszukać swój syslog-ng.confplik. Powinieneś coś takiego:
# This files are the log come from the mail subsystem.
#
destination mail { file("/var/log/mail.log"); };
destination maillog { file("/var/log/maillog"); };
destination mailinfo { file("/var/log/mail.info"); };
destination mailwarn { file("/var/log/mail.warn"); };
destination mailerr { file("/var/log/mail.err"); };
Nie możesz wysłać e-maila?
Jednym z najczęstszych powodów, dla których świeżo zainstalowany sendmail nie jest w stanie wysyłać wiadomości e-mail, to ustawienie DAEMON_OPTIONS na nasłuchiwanie tylko w wersji 127.0.0.1
Zobacz /etc/mail/sendmail.mc
dnl #
dnl # The following causes sendmail to only listen on the IPv4 loopback address
dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
Jeśli tak jest w Twoim przypadku, usuń część „Addr = 127.0.0.1”, odbuduj plik conf i gotowe!
Jeśli do tej pory ręcznie wprowadzałeś zmiany w pliku /etc/sendmail.cf (zamiast pliku * .m4), możesz dokonać podobnych zmian w pliku /etc/sendmail.cf. Linia obrażająca będzie wyglądać następująco:
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
Myślę, że kluczem jest tutaj: „DaemonPortOptions = Port = smtp, Addr = 127.0.0.1, Name = MTA” w /etc/mail/sendmail.mc Bardzo dobra wskazówka. Uratowałem mój dzień, dzięki
serfer2
1
Ale po co usuwać 127.0.0.1? Posiadanie demona do nasłuchiwania w publicznym interfejsie nie wydaje się być najbezpieczniejszym sposobem. (Proponuję usunąć całą część „Nie można wysłać wiadomości e-mail”, ponieważ nie dotyczy ona OP).
Alois Mahdal
23
zaznacz / var / log / maillog lub / var / log / messages, jeśli korzystasz z * nix
Ponadto, jeśli nic nie wychodzi, możesz sprawdzić zaporę ogniową w następujący sposób (pamiętaj, aby to zrobić jako root):
[root @ web01 ~] # iptables -L
Łańcuch WEJŚCIE (AKCEPTACJA zasad)
docelowy docelowy źródło źródłowe
AKCEPTUJ tcp - w dowolnym miejscu tcp dpt: ms-v-worlds
AKCEPTUJ tcp - w dowolnym miejscu tcp dpt: imaps
AKCEPTUJ tcp - w dowolnym miejscu tcp dpt: imap
AKCEPTUJ tcp - w dowolnym miejscu tcp dpt: pop3
AKCEPTUJ tcp - w dowolnym miejscu tcp dpt: smtp
tcp - w dowolnym miejscu tcp dpt: stan ssh NOWOŚĆ ostatnio: SET nazwa: strona SSH: źródło
DROP tcp - w dowolnym miejscu tcp dpt: stan ssh NOWE ostatnie: AKTUALIZACJA sekund: 60 hit_count: 8 TTL Nazwa dopasowania: strona SSH: źródło
Łańcuch DO PRZODU (AKCEPTACJA zasad)
docelowy docelowy źródło źródłowe
WYJŚCIE łańcuchowe (AKCEPTACJA zasad)
docelowy docelowy źródło źródłowe
Łańcuch RH-Firewall-1-INPUT (0 referencji)
docelowy docelowy źródło źródłowe
[root @ xxxx ~] #
Dla fedora i in. journalctl _COMM = sendmail pokaże wiadomości z sendmaila.
Zostałem skierowany do tej odpowiedzi poprzez wyszukiwanie. / var / log / mail zawiera tylko plik „statystyk” w Fedorze. I wszystkie inne wymienione katalogi nie istnieją.
Journalctl nie jest wystarczająco intuicyjny, jeśli nie wiesz, jakiego parametru użyć, ymmv. więc opublikowałem to rozwiązanie.
Odpowiedzi:
Gdzie są dzienniki?
Domyślna lokalizacja zależy od twojego systemu Linux / Unix, ale najczęściej są to miejsca
Jeśli go nie ma, spójrz w górę
/etc/syslog.conf
. Powinieneś zobaczyć coś takiegosendmail zapisuje logi w
mail
obiekcie syslog. Dlatego plik, do którego zostanie zapisany, zależy od konfiguracji syslog .Jeśli system używa syslog-ng (zamiast bardziej „tradycyjnego” syslog ), będziesz musiał wyszukać swój
syslog-ng.conf
plik. Powinieneś coś takiego:Nie możesz wysłać e-maila?
Jednym z najczęstszych powodów, dla których świeżo zainstalowany sendmail nie jest w stanie wysyłać wiadomości e-mail, to ustawienie DAEMON_OPTIONS na nasłuchiwanie tylko w wersji 127.0.0.1
Zobacz /etc/mail/sendmail.mc
Jeśli tak jest w Twoim przypadku, usuń część „Addr = 127.0.0.1”, odbuduj plik conf i gotowe!
Jeśli do tej pory ręcznie wprowadzałeś zmiany w pliku /etc/sendmail.cf (zamiast pliku * .m4), możesz dokonać podobnych zmian w pliku /etc/sendmail.cf. Linia obrażająca będzie wyglądać następująco:
Zmień na:
źródło
zaznacz / var / log / maillog lub / var / log / messages, jeśli korzystasz z * nix
Ponadto, jeśli nic nie wychodzi, możesz sprawdzić zaporę ogniową w następujący sposób (pamiętaj, aby to zrobić jako root):
źródło
Spróbuj spojrzeć na /var/log/mail.info lub /var/log/mail.err
źródło
sprawdź także / var / spool / mqueue dla bieżącej buforowanej poczty wychodzącej
źródło
Dla fedora i in. journalctl _COMM = sendmail pokaże wiadomości z sendmaila.
Zostałem skierowany do tej odpowiedzi poprzez wyszukiwanie. / var / log / mail zawiera tylko plik „statystyk” w Fedorze. I wszystkie inne wymienione katalogi nie istnieją.
Journalctl nie jest wystarczająco intuicyjny, jeśli nie wiesz, jakiego parametru użyć, ymmv. więc opublikowałem to rozwiązanie.
źródło
źródło
Możesz utworzyć własny plik dziennika
i wtedy
źródło