144 votes

Où vérifier le journal de sendmail ?

Je ne peux pas envoyer d'e-mails,

besoin de regarder dans les journaux,

mais où est le journal ?

5 votes

Pouvez-vous nous dire quel système d'exploitation vous utilisez ? Comme d'autres l'ont noté ci-dessous, sur la plupart des systèmes, c'est /var/log/maillog. Sous Solaris, c'est /var/adm/maillog. Sous Debian/Ubuntu, c'est /var/log/mail.log (notez le point).

3 votes

Tail -f /var/log/maillog

3 votes

+1 pour le merveilleux haïku

105voto

John Kraft Points 4559

Où sont les journaux ?

L'emplacement par défaut dépend de votre système linux/unix, mais les emplacements les plus courants sont les suivants

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

Si ce n'est pas là, regardez /etc/syslog.conf . Vous devriez voir quelque chose comme ceci

mail.*         -/var/log/maillog

sendmail écrit les journaux dans le mail l'installation de syslog. Par conséquent, le fichier dans lequel il est écrit dépend de la façon dont syslog a été configuré.

Si votre système utilise syslog-ng (au lieu de la plus "traditionnelle" syslog ), vous devrez alors rechercher votre numéro d'immatriculation. syslog-ng.conf fichier. Vous devriez avoir quelque chose comme ça :

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

Impossible d'envoyer des courriels ?

L'une des raisons les plus courantes que j'ai vues pour une fraîchement installé sendmail n'est pas capable d'envoyer des emails parce que DAEMON_OPTIONS est configuré pour écouter uniquement sur 127.0.0.1.

Voir /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

Si c'est votre cas, supprimez la partie "Addr=127.0.0.1", reconstruisez votre fichier de configuration et vous êtes prêt à partir !

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

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

Si vous avez modifié manuellement le fichier /etc/sendmail.cf jusqu'à présent (au lieu du fichier *.m4), vous pouvez effectuer des modifications similaires dans le fichier /etc/sendmail.cf. La ligne incriminée ressemblera à ceci :

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

Changez-le en :

O DaemonPortOptions=Port=smtp, Name=MTA

1 votes

Tail -f /var/log/maillog

1 votes

Je pense que la clé ici est : "DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA" dans /etc/mail/sendmail.mc Très bon conseil. J'ai sauvé ma journée, merci

1 votes

Mais pourquoi supprimer 127.0.0.1 ? Le fait que le démon écoute sur une interface publique ne semble pas être le moyen le plus sûr de procéder. (Je suggère de supprimer toute la partie "Impossible d'envoyer des e-mails" car elle n'est pas pertinente pour le PO).

24voto

bsisco Points 349

Vérifier /var/log/maillog ou /var/log/messages si vous êtes sur *nix

De plus, si rien ne sort, vous pouvez vérifier votre pare-feu comme suit (assurez-vous de le faire en tant que root) :

\[root@web01 ~\]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ms-v-worlds 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imaps 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imap 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp 
           tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW recent: SET name: SSH side: source 
DROP       tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW recent: UPDATE seconds: 60 hit\_count: 8 TTL-Match name: SSH side: source 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain RH-Firewall-1-INPUT (0 references)
target     prot opt source               destination         
\[root@xxxx ~\]#

1 votes

Ou, sur *nix, regardez dans /etc/syslog.conf pour voir où d'autres messages de journal pourraient être envoyés.

0 votes

Je ne vois aucune entrée de smtp dans iptables

5voto

mblsha Points 305

Essayez de consulter /var/log/mail.info ou /var/log/mail.err.

4voto

cbeuker Points 685

Vérifiez aussi /var/spool/mqueue pour le courrier sortant mis en cache.

4voto

comfytoday Points 183

Pour fedora et al. journalctl _COMM=sendmail affichera les messages de sendmail.

J'ai été dirigé vers cette réponse via une recherche. Le fichier /var/log/mail ne contient qu'un fichier 'statistics' sous Fedora. Et tous les autres répertoires mentionnés sont inexistants.

journalctl n'est pas assez intuitif si vous ne savez pas quel paramètre utiliser, ymmv. J'ai donc posté cette solution.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X