Ingin memberi tahu kami OS apa yang Anda gunakan? Seperti yang orang lain catat di bawah ini, pada kebanyakan sistem itu / var / log / maillog. Di Solaris itu / var / adm / maillog. Di Debian / Ubuntu itu /var/log/mail.log (perhatikan titik).
Gerald Combs
1
tail -f / var / log / maillog
Thomas Denton
Jawaban:
72
Di mana log?
Lokasi default tergantung pada sistem linux / unix Anda, tetapi tempat yang paling umum adalah
/ var / log / maillog
/var/log/mail.log
/ var / adm / maillog
/var/adm/syslog/mail.log
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 mailfasilitas 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.confberkas. 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"); };
Tidak dapat mengirim email?
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!
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
Saya pikir, kuncinya di sini adalah: "DaemonPortOptions = Port = smtp, Addr = 127.0.0.1, Name = MTA" di /etc/mail/sendmail.mc Tip yang sangat bagus.
Selamatkan
1
Tapi mengapa menghapus 127.0.0.1? Memiliki daemon untuk mendengarkan di antarmuka publik sepertinya bukan cara yang paling aman untuk dilakukan. (Saya sarankan untuk menghapus seluruh bagian "Tidak dapat mengirim email" karena tidak relevan dengan OP.)
Alois Mahdal
23
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 ~] #
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.
Jawaban:
Di mana log?
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 inisendmail 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:Tidak dapat mengirim email?
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
Jika itu kasus Anda, hapus bagian "Addr = 127.0.0.1", bangun kembali file conf Anda dan Anda siap melakukannya!
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:
Ubah ke:
sumber
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):
sumber
Coba cari di /var/log/mail.info atau /var/log/mail.err
sumber
juga periksa / var / spool / mqueue untuk surat keluar cache saat ini
sumber
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.
sumber
sumber
Anda dapat membuat file log Anda sendiri
lalu
sumber