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

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

нужно заглянуть в журналы,

, но где log?

85 голосов | спросил Shore 27 PM00000070000004031 2009, 19:46:40

7 ответов


55

Где находятся журналы?

Местоположение по умолчанию зависит от вашей системы linux /unix, но наиболее распространенными являются

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

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

mail.*         -/var/log/maillog

sendmail записывает журналы в средство mail syslog. Поэтому файл, который он записывает, зависит от того, как был настроен 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
ответил Shawn Chin 27 PM00000070000001031 2009, 19:57:10
21

check /var /log /maillog или /var /log /messages, если вы на * nix

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

[root @ web01 ~] # iptables -L
Цепочка INPUT (политика ACCEPT)
целевой целевой источник opt opt
ACCEPT tcp - где угодно, tcp dpt: ms-v-worlds
ACCEPT tcp - где угодно, tcp dpt: imaps
ACCEPT tcp - где угодно, tcp dpt: imap
ACCEPT tcp - везде где угодно tcp dpt: pop3
ACCEPT tcp - где угодно, tcp dpt: smtp
           tcp - где угодно tcp dpt: состояние ssh NEW недавнее: имя SET: сторона SSH: источник
DROP tcp - где угодно, tcp dpt: состояние ssh NEW недавнее: UPDATE секунд: 60 hit_count: 8 TTL-Match name: SSH side: source

Цепь FORWARD (политика ACCEPT)
целевой целевой источник opt opt

Цепочка OUTPUT (политика ACCEPT)
целевой целевой источник opt opt

Цепь RH-Firewall-1-INPUT (0 ссылок)
целевой целевой источник opt opt
[root @ xxxx ~] #
ответил bsisco 27 PM00000070000004531 2009, 19:52:45
3

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

ответил Rory 28 PM000000120000002931 2009, 12:51:29
1

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

ответил Jimsmithkka 27 PM00000080000001731 2009, 20:24:17
0
/var/log/maillog
ответил Prody 27 PM00000070000000931 2009, 19:53:09
0

Для fedora и др. journalctl _COMM = sendmail будет отображать сообщения от sendmail.

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

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

ответил comfytoday 1 J000000Wednesday15 2015, 14:49:08
-1

Вы можете создать свой собственный файл журнала

[[email protected] ~]# killall sendmail
[[email protected] ~]# touch /var/log/sendmail.log
[[email protected] ~]# sendmail -bd -q15m >> /var/log/sendmail.log

, а затем

[[email protected] ~]# tail -f /var/log/sendmail.log

451 4.0.0 /fake/path/sendmail.cf: line 0: cannot open: No such file or directory
ответил Jonny 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 04 Sep 2015 13:17:57 +0300 2015, 13:17:57

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132