Pertanyaan Di mana untuk memeriksa log dari sendmail?


Saya tidak bisa mengirim email,

perlu melihat ke dalam log,

tapi di mana lognya?


90
2017-08-27 15:46




Ingin memberi tahu kami OS apa yang Anda gunakan? Seperti yang orang lain telah catat di bawah ini, pada kebanyakan sistem itu / var / log / maillog. Pada Solaris itu / var / adm / maillog. Di Debian / Ubuntu adalah /var/log/mail.log (catat titik). - Gerald Combs
tail -f / var / log / maillog - Thomas Denton


Jawaban:


Di mana log itu?

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, cari /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 ditulis untuk bergantung pada bagaimana caranya syslog telah dikonfigurasi.

Jika sistem Anda menggunakan syslog-ng (bukan yang lebih "tradisional" syslog), maka Anda harus mencari Anda syslog-ng.conf mengajukan. Anda harus melakukan hal 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 pernah saya lihat untuk baru dipasang sendmail tidak dapat mengirim email adalah DAEMON_OPTIONS yang diatur untuk hanya mendengarkan 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", buat ulang file conf Anda dan Anda siap untuk pergi!

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 (bukan file * .m4) Anda dapat membuat perubahan serupa di /etc/sendmail.cf. Garis yang menyinggung akan terlihat seperti ini:

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

Ubah menjadi:

O DaemonPortOptions=Port=smtp, Name=MTA

60
2017-08-27 15:57



tail -f / var / log / maillog - Thomas Denton
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 hari saya, terima kasih - serfer2
Tapi mengapa menghapus 127.0.0.1? Memiliki daemon untuk didengarkan di antarmuka publik tampaknya bukan cara yang paling aman untuk dilakukan. (Saya sarankan untuk menghapus keseluruhan bagian "Tidak dapat mengirim email" karena tidak relevan dengan OP.) - Alois Mahdal


periksa / var / log / maillog atau / var / log / messages jika Anda berada di * 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
Rantai INPUT (kebijakan SETUJU)
target memilih sumber tujuan
MENERIMA tcp - di mana saja di mana tcp dpt: ms-v-worlds
MENERIMA tcp - di mana saja di mana tcp dpt: imaps
MENERIMA tcp - di mana saja di mana saja tcp dpt: imap
MENERIMA tcp - di mana saja di mana tcp dpt: pop3
MENERIMA tcp - di mana saja di mana tcp dpt: smtp
           tcp - di mana saja di mana saja tcp dpt: ssh state BARU baru-baru ini: SET nama: SSH samping: sumber
DROP tcp - di mana saja di mana saja tcp dpt: ssh state BARU terkini: UPDATE detik: 60 hit_count: 8 TTL-Match name: SSH side: source

Rantai FORWARD (kebijakan SETUJU)
target memilih sumber tujuan

Rantai OUTPUT (kebijakan SETUJU)
target memilih sumber tujuan

Rantai RH-Firewall-1-INPUT (referensi 0)
target memilih sumber tujuan
[root @ xxxx ~] #

21
2017-08-27 15:52



Atau, di * nix, lihat di /etc/syslog.conf untuk melihat di mana lagi pesan-pesan log itu dikirim. - Liudvikas Bukys


Coba lihat di /var/log/mail.info atau /var/log/mail.err


3
2017-08-28 08:51





juga periksa / var / spool / mqueue untuk surat keluar tembolok saat ini


1
2017-08-27 16:24





/var/log/maillog

0
2017-08-27 15:53





Untuk fedora dkk. 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 telah memposting solusi ini.


0
2017-07-01 11:49





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

-1
2017-09-04 10:17