Ich kann keine E-Mails verschicken
müssen in die Protokolle schauen,
aber wo ist das log?
Ich kann keine E-Mails verschicken
müssen in die Protokolle schauen,
aber wo ist das log?
Antworten:
Der Standardspeicherort hängt von Ihrem Linux / Unix-System ab, die häufigsten sind jedoch
Wenn es nicht da ist, schau nach /etc/syslog.conf. Sie sollten so etwas sehen
mail.* -/var/log/maillog
sendmail schreibt Protokolle in die mailEinrichtung von syslog. Daher hängt es davon ab, wie Syslog konfiguriert wurde , in welche Datei geschrieben wird .
Wenn Ihr System Syslog-ng verwendet (anstelle des "traditionelleren" Syslog ), müssen Sie Ihre syslog-ng.confDatei nachschlagen . Du solltest so etwas machen:
# 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"); };
Einer der häufigsten Gründe, warum ich gesehen habe, dass ein frisch installiertes sendmail keine E-Mails versenden kann, ist, dass DAEMON_OPTIONS so eingestellt ist, dass es nur 127.0.0.1 überwacht
Siehe /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
Wenn dies der Fall ist, entfernen Sie den Teil "Addr = 127.0.0.1", erstellen Sie Ihre Conf-Datei neu und los geht's!
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
[root@server]$ m4 sendmail.mc > /etc/sendmail.cf
[root@server]$/etc/init.d/sendmail restart
Wenn Sie bisher manuell Änderungen an /etc/sendmail.cf vorgenommen haben (anstelle der * .m4-Datei), können Sie ähnliche Änderungen in /etc/sendmail.cf vornehmen. Die beleidigende Zeile sieht folgendermaßen aus:
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
Ändern Sie es in:
O DaemonPortOptions=Port=smtp, Name=MTA
Überprüfe / var / log / maillog oder / var / log / messages, wenn du auf * nix bist
Wenn nichts ausfällt, können Sie Ihre Firewall folgendermaßen überprüfen (tun Sie dies unbedingt als root):
[root @ web01 ~] # iptables -L
Chain INPUT (Policy ACCEPT)
Zielprotokoll Quellenziel
ACCEPT tcp - überall überall tcp dpt: ms-v-worlds
ACCEPT tcp - überall überall tcp dpt: imaps
ACCEPT tcp - überall überall tcp dpt: imap
ACCEPT tcp - überall überall tcp dpt: pop3
ACCEPT tcp - überall überall tcp dpt: smtp
tcp - überall überall tcp dpt: ssh state NEU aktuell: SET name: SSH side: source
DROP tcp - überall überall tcp dpt: ssh state NEU aktuell: UPDATE Sekunden: 60 hit_count: 8 TTL-Match Name: SSH Seite: Quelle
Chain FORWARD (Policy ACCEPT)
Zielprotokoll Quellenziel
Chain OUTPUT (Policy ACCEPT)
Zielprotokoll Quellenziel
Kette RH-Firewall-1-INPUT (0 Referenzen)
Zielprotokoll Quellenziel
[root @ xxxx ~] #
Überprüfen Sie auch / var / spool / mqueue auf zwischengespeicherte ausgehende E-Mails
Für Fedora et al. journalctl _COMM = sendmail zeigt Nachrichten von sendmail an.
Ich wurde über eine Suche auf diese Antwort verwiesen. / var / log / mail enthält nur eine 'Statistik'-Datei für Fedora. Und alle anderen genannten Verzeichnisse sind nicht vorhanden.
journalctl ist nicht intuitiv genug, wenn Sie nicht wissen, welchen Parameter Sie verwenden sollen, ymmv. Also habe ich diese Lösung gepostet.
Sie können Ihre eigene Protokolldatei erstellen
[admin@local ~]# killall sendmail
[admin@local ~]# touch /var/log/sendmail.log
[admin@local ~]# sendmail -bd -q15m >> /var/log/sendmail.log
und dann
[admin@local ~]# tail -f /var/log/sendmail.log
451 4.0.0 /fake/path/sendmail.cf: line 0: cannot open: No such file or directory