Saya tidak bisa mengirim email,
perlu melihat ke dalam log,
tetapi di mana log?
Saya tidak bisa mengirim email,
perlu melihat ke dalam log,
tetapi di mana log?
Jawaban:
Lokasi default tergantung pada sistem linux / unix Anda, tetapi tempat yang paling umum adalah
Jika tidak ada di sana, lihat ke atas /etc/syslog.conf
. Anda harus melihat sesuatu seperti ini
mail.* -/var/log/maillog
sendmail menulis log ke mail
fasilitas syslog. Oleh karena itu, file mana yang akan ditulis tergantung pada bagaimana syslog dikonfigurasi.
Jika sistem Anda menggunakan syslog-ng (bukannya lebih "tradisional" syslog ), maka Anda akan harus mencari Anda syslog-ng.conf
berkas. Anda akan mendapatkan sesuatu seperti ini:
# 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"); };
Salah satu alasan paling umum yang saya lihat untuk sendmail yang baru diinstal tidak dapat mengirim email adalah DAEMON_OPTIONS ditetapkan untuk mendengarkan hanya pada 127.0.0.1
Lihat /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
Jika itu kasus Anda, hapus bagian "Addr = 127.0.0.1", bangun kembali file conf Anda dan Anda siap melakukannya!
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
[root@server]$ m4 sendmail.mc > /etc/sendmail.cf
[root@server]$/etc/init.d/sendmail restart
Jika Anda telah melakukan perubahan pada /etc/sendmail.cf secara manual sejauh ini (daripada file * .m4), Anda dapat membuat perubahan serupa di /etc/sendmail.cf. Baris yang menyinggung akan terlihat seperti ini:
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
Ubah ke:
O DaemonPortOptions=Port=smtp, Name=MTA
periksa / var / log / maillog atau / var / log / messages jika Anda menggunakan * nix
Juga, jika tidak ada yang keluar, Anda mungkin ingin memeriksa firewall Anda sebagai berikut (pastikan untuk melakukan ini sebagai root):
[root @ web01 ~] # iptables -L Chain INPUT (kebijakan MENERIMA) target sumber tujuan opt opt ACCEPT tcp - di mana saja di mana saja tcp dpt: ms-v-worlds ACCEPT tcp - di mana saja di mana saja tcp dpt: imaps MENERIMA tcp - di mana saja di mana saja tcp dpt: imap ACCEPT tcp - di mana saja di mana saja tcp dpt: pop3 MENERIMA tcp - di mana saja di mana saja tcp dpt: smtp tcp - di mana saja di mana saja tcp dpt: ssh state BARU baru-baru ini: SET nama: SSH sisi: sumber DROP tcp - di mana saja di mana saja tcp dpt: ssh state BARU baru-baru ini: UPDATE detik: 60 hit_count: 8 TTL-Nama pertandingan: SSH side: source Chain FORWARD (kebijakan MENERIMA) target sumber tujuan opt opt Chain OUTPUT (kebijakan MENERIMA) target sumber tujuan opt opt Chain RH-Firewall-1-INPUT (0 referensi) target sumber tujuan opt opt [root @ xxxx ~] #
juga periksa / var / spool / mqueue untuk surat keluar cache saat ini
Untuk fedora et al. journalctl _COMM = sendmail akan menampilkan pesan dari sendmail.
Saya diarahkan ke jawaban ini melalui pencarian. / var / log / mail hanya berisi file 'statistik' di Fedora. Dan semua direktori yang disebutkan lainnya tidak ada.
journalctl tidak cukup intuitif jika Anda tidak tahu parameter apa yang digunakan, ymmv. jadi saya sudah memposting solusi ini.
Anda dapat membuat file log Anda sendiri
[admin@local ~]# killall sendmail
[admin@local ~]# touch /var/log/sendmail.log
[admin@local ~]# sendmail -bd -q15m >> /var/log/sendmail.log
lalu
[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