Où consulter le journal de sendmail?

103

Je ne peux pas envoyer d'emails,

besoin de regarder dans les journaux,

mais où est le journal?


la source
4
Voulez-vous nous dire quel système d'exploitation vous utilisez? Comme d'autres l'ont noté ci-dessous, sur la plupart des systèmes, il s'agit de / var / log / maillog. Sous Solaris, c'est / var / adm / maillog. Sur Debian / Ubuntu, il s’agit de /var/log/mail.log (notez le point).
Gerald Combs
1
queue -f / var / log / maillog
Thomas Denton

Réponses:

72

Où sont les journaux?

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

  • / 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 ça

mail.*         -/var/log/maillog

sendmail écrit les journaux dans l' mailinstallation de syslog. Par conséquent, le fichier dans lequel il est écrit dépend de la configuration de syslog .

Si votre système utilise syslog-ng (au lieu du syslog plus "traditionnel" ), vous devrez alors rechercher votre syslog-ng.conffichier. Vous devriez 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 emails?

L'une des raisons les plus courantes pour lesquelles un sendmail fraîchement installé ne peut pas envoyer d'e-mails est le paramètre DAEMON_OPTIONS qui est configuré pour une écoute 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 conf 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 apporté des modifications à /etc/sendmail.cf manuellement jusqu'à présent (au lieu du fichier * .m4), vous pouvez apporter des modifications similaires dans /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
Shawn Chin
la source
1
queue -f / var / log / maillog
Thomas Denton
1
Je pense que la clé est la suivante: "DaemonPortOptions = Port = smtp, Addr = 127.0.0.1, Nom = MTA" dans /etc/mail/sendmail.mc Très bon conseil. Sauvé ma journée, merci
serfer2
1
Mais pourquoi supprimer 127.0.0.1? Avoir le démon à écouter sur l'interface publique ne semble pas être le moyen le plus sûr de le faire. (Je suggérerais de supprimer toute la partie "Impossible d'envoyer des courriels" car elle n'est pas pertinente pour OP.)
Alois Mahdal
23

vérifiez / var / log / maillog ou / var / log / messages si vous êtes sur * nix

De plus, si rien ne se passe, vous voudrez peut-être vérifier votre pare-feu comme suit (assurez-vous de le faire en tant que root):

[root @ web01 ~] # iptables -L
Chaîne INPUT (politique ACCEPT)
cible cible source opt opt         
ACCEPTER tcp - n'importe où n'importe où dpt tcp: ms-v-worlds 
ACCEPTER tcp - n'importe où n'importe où dpt tcp: imaps 
ACCEPTER tcp - n'importe où n'importe où dpt tcp: imap 
ACCEPTER tcp - n'importe où n'importe où dpt tcp: pop3 
ACCEPTER TCP - n'importe où n'importe où dpt tcp: smtp 
           tcp - n'importe où n'importe où dpt tcp: état ssh NOUVEAU récent: nom SET: côté SSH: source 
DROP tcp - n'importe où n'importe où dpt tcp: état ssh NOUVEAU récent: UPDATE secondes: 60 hit_count: 8 nom de correspondance TTL: côté SSH: source 

Chaîne À SUIVRE (politique ACCEPTER)
cible cible source opt opt         

Chaîne OUTPUT (politique ACCEPT)
cible cible source opt opt         

Chaîne RH-Firewall-1-INPUT (0 références)
cible cible source opt opt         
[root @ xxxx ~] # 
bsisco
la source
1
Ou bien, sur * nix, recherchez dans /etc/syslog.conf pour voir où ces messages de journal pourraient être envoyés.
Liudvikas Bukys
Je ne vois aucune entrée de smtp dans iptables
Umair
5

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

Rory
la source
2

vérifiez également / var / spool / mqueue pour le courrier sortant mis en cache

Jimsmithkka
la source
2

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

J'ai été dirigé vers cette réponse via une recherche. / var / log / mail contient uniquement un fichier "statistiques" sur 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. alors j'ai posté cette solution.

comfytoday
la source
1
/var/log/maillog
Prody
la source
-1

Vous pouvez créer votre propre fichier journal

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

puis

[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
Jonny
la source