سؤال أين تحقق من سجل sendmail؟


لا أستطيع إرسال رسائل البريد الإلكتروني ،

بحاجة للنظر في السجلات ،

لكن أين السجل؟


90
2017-08-27 15:46


الأصل


هل تهتم بإعلامنا بنظام التشغيل الذي تستخدمه؟ كما لاحظ آخرون أدناه ، في معظم الأنظمة يكون / var / log / maillog. على سولاريس هو / فار / ايم / maillog. على Debian / Ubuntu ، يكون /var/log/mail.log (لاحظ النقطة). - Gerald Combs
tail -f / var / log / maillog - Thomas Denton


الأجوبة:


أين توجد السجلات؟

الموقع الافتراضي يعتمد على نظام linux / unix ، لكن الأماكن الأكثر شيوعًا هي

  • / فار / سجل / maillog
  • /var/log/mail.log
  • / فار / ADM / maillog
  • /var/adm/syslog/mail.log

إذا لم يكن هناك ، ابحث عن /etc/syslog.conf. يجب أن نرى شيئا من هذا القبيل

mail.*         -/var/log/maillog

ارسل بريد يكتب سجلات ل mail منشأة من سجل النظام. لذلك ، يعتمد الملف الذي يكتبه على كيفية ذلك سيسلوغ تم تكوينه.

إذا كنت تستخدم النظام سيسلوغ-نغ (بدلا من "التقليدية" أكثر سيسلوغ) ، ثم عليك البحث عن الخاص بك syslog-ng.conf ملف. يجب عليك شيء من هذا القبيل:

# 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"); };

غير قادر على إرسال رسائل البريد الإلكتروني؟

واحدة من أكثر الأسباب التي رأيتها ل مثبت حديثا إرسال البريد الإلكتروني غير قادر على إرسال رسائل البريد الإلكتروني هو DAEMON_OPTIONS التي تم تعيينها للاستماع فقط على 127.0.0.1

انظر /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

إذا كانت هذه هي حالتك ، فقم بإزالة جزء "Addr = 127.0.0.1" ، وإعادة إنشاء ملف conf الخاص بك وأنت على ما يرام!

DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl

[root@server]$ m4 sendmail.mc > /etc/sendmail.cf
[root@server]$/etc/init.d/sendmail restart

إذا كنت تقوم بإجراء تغييرات على /etc/sendmail.cf يدوياً حتى الآن (بدلاً من ملف * .m4) ، يمكنك إجراء تغييرات مماثلة في /etc/sendmail.cf. سيبدو الخط المسيء هكذا:

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

قم بتغييرها إلى:

O DaemonPortOptions=Port=smtp, Name=MTA

60
2017-08-27 15:57



tail -f / var / log / maillog - Thomas Denton
أعتقد أن المفتاح هنا هو: "DaemonPortOptions = المنفذ = smtp ، Addr = 127.0.0.1 ، الاسم = MTA" في /etc/mail/sendmail.mc نصيحة جيدة جدًا. أنقذ يومي ، شكراً - serfer2
لكن لماذا إزالة 127.0.0.1؟ لا يبدو أن الاستعانة بالخفيّة للاستماع إلى الواجهة العامة هي الطريقة الأكثر أمانًا للقيام بها. (أقترح إزالة العبارة "تعذر إرسال رسائل البريد الإلكتروني" بأكملها لأنها ليست ذات صلة بـ OP.) - Alois Mahdal


تحقق من / var / log / maillog أو / var / log / messages إذا كنت تستخدم * nix

أيضا ، إذا لم يكن هناك شيء يخرج قد ترغب في التحقق من جدار الحماية الخاص بك على النحو التالي (تأكد من القيام بذلك كجذر):

[root @ web01 ~] # iptables -L
سلسلة INPUT (السياسة ACCEPT)
الهدف الهدف اختيار المصدر
قبول TCP - أي مكان في أي مكان tpt dpt: ms-v-worlds
قبول برنامج التعاون الفني - في أي مكان في أي مكان tpp dpt: imaps
قبول برنامج التعاون الفني - أي مكان في أي مكان tpt dpt: imap
قبول برنامج التعاون الفني - في أي مكان في أي مكان tpt dpt: pop3
قبول برنامج التعاون الفني - في أي مكان في أي مكان tpp dpt: smtp
           tcp - في أي مكان في أي مكان tpt dpt: ssh state NEW recent: SET name: SSH side: source
DROP tcp - في أي مكان tcp dpt: ssh state NEW NEW: UPDATE seconds: 60 hit_count: 8 TTL-Match name: SSH side: المصدر

سلسلة FORWARD (السياسة ACCEPT)
الهدف الهدف اختيار المصدر

سلسلة الانتاج (السياسة اكيبت)
الهدف الهدف اختيار المصدر

سلسلة RH-Firewall-1-INPUT (المراجع)
الهدف الهدف اختيار المصدر
[root @ xxxx ~] #

21
2017-08-27 15:52



أو ، على * nix ، ابحث في /etc/syslog.conf لمعرفة مكان آخر قد يتم إرسال رسائل السجل هذه إليه. - Liudvikas Bukys


جرب الاطلاع على /var/log/mail.info أو /var/log/mail.err


3
2017-08-28 08:51





تحقق أيضًا من / var / spool / mqueue للبريد الصادر حاليًا


1
2017-08-27 16:24





/var/log/maillog

0
2017-08-27 15:53





فيدورا وآخرون. journalctl _COMM = sendmail سيظهر الرسائل من sendmail.

تم توجيهي إلى هذه الإجابة عن طريق البحث. يحتوي / var / log / mail فقط على ملف "إحصائيات" في فيدورا. وجميع الدلائل المذكورة الأخرى غير موجودة.

journalctl ليس بديهيا بما فيه الكفاية إذا كنت لا تعرف ما المعلمة لاستخدامها ، ymmv. لذلك قمت بنشر هذا الحل.


0
2017-07-01 11:49





يمكنك إنشاء ملف السجل الخاص بك

[admin@local ~]# killall sendmail
[admin@local ~]# touch /var/log/sendmail.log
[admin@local ~]# sendmail -bd -q15m >> /var/log/sendmail.log

وثم

[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