सवाल Sendmail के लॉग की जांच कहाँ करें?


मैं ईमेल नहीं भेज सकता,

लॉग में देखने की जरूरत है,

लेकिन लॉग कहां है?


90
2017-08-27 15:46


मूल


हमें यह बताने की देखभाल करें कि आप किस ओएस का उपयोग कर रहे हैं? जैसा कि अन्य ने नीचे उल्लेख किया है, अधिकांश प्रणालियों पर यह / var / log / maillog है। सोलारिस पर यह / var / adm / maillog है। डेबियन / उबंटू पर यह /var/log/mail.log है (डॉट नोट करें)। - Gerald Combs
tail -f / var / log / maillog - Thomas Denton


जवाब:


लॉग कहां हैं?

डिफ़ॉल्ट स्थान आपके लिनक्स / यूनिक्स सिस्टम पर निर्भर करता है, लेकिन सबसे आम स्थान हैं

  • / Var / log / maillog
  • /var/log/mail.log
  • / Var / ADM / maillog
  • /var/adm/syslog/mail.log

अगर यह वहां नहीं है, तो देखो /etc/syslog.conf। आपको ऐसा कुछ देखना चाहिए

mail.*         -/var/log/maillog

मेल भेजे लॉग लिखता है mail syslog की सुविधा। इसलिए, यह किस फाइल को लिखा जाता है इस पर निर्भर करता है कि कैसे syslog कॉन्फ़िगर किया गया था।

यदि आप सिस्टम का उपयोग करते हैं syslog-एनजी (अधिक "पारंपरिक" के बजाय syslog), तो आपको अपना देखना होगा 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"); };

ईमेल भेजने में असमर्थ?

मैंने देखा है कि सबसे आम कारण में से एक ताजा स्थापित sendmail ईमेल भेजने में सक्षम नहीं है 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 = Port = smtp, addr = 127.0.0.1, नाम = एमटीए" /etc/mail/sendmail.mc में बहुत अच्छी युक्ति है। मेरा दिन बचाया, धन्यवाद - serfer2
लेकिन 127.0.0.1 क्यों हटाएं? सार्वजनिक इंटरफ़ेस पर सुनने के लिए डिमन होने के कारण ऐसा करने का सबसे सुरक्षित तरीका नहीं लगता है। (मैं पूरे "ईमेल भेजने में असमर्थ" भाग को हटाने का सुझाव देता हूं क्योंकि यह ओपी के लिए प्रासंगिक नहीं है।) - Alois Mahdal


यदि आप * निक्स पर हैं तो चेक / var / log / maillog या / var / log / messages

इसके अलावा, अगर कुछ भी नहीं हो रहा है तो आप निम्नानुसार अपनी फ़ायरवॉल जांचना चाहेंगे (इसे रूट के रूप में करना सुनिश्चित करें):

[रूट @ वेब01 ~] # iptables -L
चेन इनपुट (नीति ACCEPT)
लक्षित प्रोट ऑप्ट विकल्प गंतव्य
ACCEPT टीसीपी - कहीं भी कहीं भी टीसीपी डीपीटी: एमएस-वी-दुनिया
ACCEPT टीसीपी - कहीं भी कहीं भी टीसीपी डीपीटी: imaps
ACCEPT टीसीपी - कहीं भी कहीं भी टीसीपी डीपीटी: imap
ACCEPT टीसीपी - कहीं भी कहीं भी टीसीपी डीपीटी: pop3
ACCEPT टीसीपी - कहीं भी कहीं भी टीसीपी डीपीटी: smtp
           टीसीपी - कहीं भी कहीं भी टीसीपी डीपीटी: एसएसएच राज्य नया हालिया: एसईटी नाम: एसएसएच पक्ष: स्रोत
डीआरओपी टीसीपी - कहीं भी कहीं भी टीसीपी डीपीटी: एसएसएच राज्य नया हालिया: अद्यतन सेकंड: 60 हिट_count: 8 टीटीएल-मैच का नाम: एसएसएच पक्ष: स्रोत

चेन फॉरवर्ड (पॉलिसी ACCEPT)
लक्षित प्रोट ऑप्ट विकल्प गंतव्य

चेन आउटपुट (नीति ACCEPT)
लक्षित प्रोट ऑप्ट विकल्प गंतव्य

चेन आरएच-फ़ायरवॉल -1-इनपुट (0 संदर्भ)
लक्षित प्रोट ऑप्ट विकल्प गंतव्य
[रूट @ 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





फेडोरा एट अल के लिए। पत्रिका _COMM = sendmail sendmail से संदेश दिखाएगा।

मुझे एक खोज के माध्यम से इस जवाब का निर्देश दिया गया था। / var / log / mail में केवल फेडोरा पर 'सांख्यिकी' फ़ाइल शामिल है। और अन्य सभी उल्लिखित निर्देशिकाएं मौजूद नहीं हैं।

यदि आप नहीं जानते कि पैरामीटर का उपयोग करने के लिए क्या पता नहीं है, तो पत्रिका पर्याप्त सहज नहीं है, 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