Tôi không thể gửi email,
cần nhìn vào nhật ký
nhưng nhật ký ở đâu?
Tôi không thể gửi email,
cần nhìn vào nhật ký
nhưng nhật ký ở đâu?
Câu trả lời:
Vị trí mặc định phụ thuộc vào hệ thống linux / unix của bạn, nhưng những nơi phổ biến nhất là
Nếu nó không ở đó, hãy tìm kiếm /etc/syslog.conf
. Bạn sẽ thấy một cái gì đó như thế này
mail.* -/var/log/maillog
sendmail viết nhật ký đến mail
cơ sở của syslog. Do đó, tập tin nào được ghi phụ thuộc vào cách syslog được cấu hình.
Nếu hệ thống của bạn sử dụng syslog-ng (thay vì syslog "truyền thống" hơn ), thì bạn sẽ phải tra cứu syslog-ng.conf
tệp của mình . Bạn sẽ nên một cái gì đó như thế này:
# 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"); };
Một trong những lý do phổ biến nhất mà tôi thấy đối với một sendmail mới được cài đặt không thể gửi email là DAEMON_OPTIONS được đặt để chỉ nghe trên 127.0.0.1
Xem /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
Nếu đó là trường hợp của bạn, hãy xóa phần "Addr = 127.0.0.1", xây dựng lại tệp conf của bạn và bạn vẫn ổn!
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
[root@server]$ m4 sendmail.mc > /etc/sendmail.cf
[root@server]$/etc/init.d/sendmail restart
Nếu bạn đã thực hiện các thay đổi đối với /etc/sendmail.cf theo cách thủ công cho đến nay (thay vì tệp * .m4), bạn có thể thực hiện các thay đổi tương tự trong /etc/sendmail.cf. Dòng vi phạm sẽ trông như thế này:
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
Thay đổi nó thành:
O DaemonPortOptions=Port=smtp, Name=MTA
kiểm tra / var / log / maillog hoặc / var / log / message nếu bạn đang bật * nix
Ngoài ra, nếu không có gì xảy ra, bạn có thể muốn kiểm tra tường lửa của mình như sau (hãy chắc chắn làm điều này với quyền root):
[root @ web01 ~] # iptables -L Chuỗi INPUT (CHẤP NHẬN chính sách) đích đích chọn nguồn tham gia CHẤP NHẬN tcp - mọi nơi mọi nơi tcp dpt: ms-v-worlds CHẤP NHẬN tcp - mọi nơi mọi nơi tcp dpt: imaps CHẤP NHẬN tcp - mọi nơi mọi nơi tcp dpt: imap CHẤP NHẬN tcp - mọi nơi mọi nơi tcp dpt: pop3 CHẤP NHẬN tcp - mọi nơi mọi nơi tcp dpt: smtp tcp - mọi nơi mọi nơi tcp dpt: ssh bang MỚI gần đây: Tên SET: SSH side: source DROP tcp - mọi nơi mọi nơi tcp dpt: trạng thái ssh MỚI gần đây: CẬP NHẬT giây: 60 hit_count: 8 TTL-Tên trận đấu: SSH side: source Chuỗi FORWARD (CHẤP NHẬN chính sách) đích đích chọn nguồn tham gia Đầu ra chuỗi (CHẤP NHẬN chính sách) đích đích chọn nguồn tham gia Chuỗi RH-Firewall-1-INPUT (0 tài liệu tham khảo) đích đích chọn nguồn tham gia [root @ xxxx ~] #
đồng thời kiểm tra / var / spool / mqueue cho thư gửi đi được lưu trong bộ nhớ cache hiện tại
Đối với fedora et al. Tạp chí _COMM = sendmail sẽ hiển thị các tin nhắn từ sendmail.
Tôi đã được chuyển đến câu trả lời này thông qua một tìm kiếm. / var / log / mail chỉ chứa tệp 'thống kê' trên Fedora. Và tất cả các thư mục được đề cập khác là không tồn tại.
Tạp chí không đủ trực quan nếu bạn không biết nên sử dụng tham số nào, ymmv. Vì vậy, tôi đã đăng giải pháp này.
Bạn có thể tạo tệp nhật ký của riêng bạn
[admin@local ~]# killall sendmail
[admin@local ~]# touch /var/log/sendmail.log
[admin@local ~]# sendmail -bd -q15m >> /var/log/sendmail.log
và sau đó
[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