it-swarm-ru.tech

Где проверить журнал sendmail?

Я не могу отправлять электронные письма,

надо заглядывать в логи,

а где бревно?

106
Shore

Где журналы?

Расположение по умолчанию зависит от вашей системы Linux/Unix, но наиболее распространенные места

  • / Вар/Журнал/MAILLOG
  • /var/log/mail.log
  • / Var/ADM/MAILLOG
  • /var/adm/syslog/mail.log

Если его там нет, посмотрите вверх /etc/syslog.conf. Вы должны увидеть что-то вроде этого

mail.*         -/var/log/maillog

sendmail записывает журналы в средство mail системного журнала. Следовательно, какой файл будет записан, зависит от того, как syslog был настроен.

Если ваша система использует syslog-ng (вместо более "традиционного" 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

[[email protected]]$ m4 sendmail.mc > /etc/sendmail.cf
[[email protected]]$/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
75
Shawn Chin

проверьте/var/log/maillog или/var/log/messages, если вы используете * nix

Кроме того, если ничего не выходит, вы можете проверить свой брандмауэр следующим образом (не забудьте сделать это как root):

 [root @ web01 ~] # iptables -L 
 Цепной ВХОД (политика ПРИНЯТЬ) 
 целевой целевой источник назначения 
 ПРИНЯТЬ tcp - где угодно и где угодно tcp dpt: ms-v-worlds 
 ПРИНЯТЬ tcp - где угодно и где угодно tcp dpt: imaps 
 ПРИНЯТЬ tcp - где угодно и где угодно tcp dpt: imap 
 ПРИНЯТЬ tcp - где угодно и где угодно tcp dpt: pop3 
 ПРИНЯТЬ tcp - где угодно и где угодно tcp dpt: smtp 
 Tcp - где угодно и где угодно tcp dpt: ssh состояние НОВОЕ недавнее: SET name: SSH side: source 
 DROP tcp - где угодно где угодно tcp dpt: состояние ssh НОВОЕ недавнее: ОБНОВЛЕНИЕ секунд: 60 Hit_count: 8 Имя TTL-совпадения: сторона SSH: источник 
 
 Цепочка FORWARD (политика ПРИНЯТА) 
 target prot opt ​​source пункт назначения 
 
 Цепной ВЫХОД (политика AC CEPT) 
 Целевой целевой источник назначения 
 
 Цепной RH-Firewall-1-INPUT (0 ссылок) 
 Целевой целевой источник назначения 
 [ root @ xxxx ~] # 
24
bsisco

Попробуйте посмотреть /var/log/mail.info или /var/log/mail.err

5
Rory

Для Fedora et al. journalctl _COMM = sendmail будет показывать сообщения от sendmail.

Я был направлен на этот ответ через поиск./var/log/mail содержит только файл статистики в Fedora. И все остальные упомянутые каталоги не существуют.

journalctl недостаточно интуитивен, если вы не знаете, какой параметр использовать, ymmv. поэтому я разместил это решение.

3
comfytoday

также проверьте/var/spool/mqueue для текущей кэшированной исходящей почты

3
Jimsmithkka
/var/log/maillog
2
Prody