web-dev-qa-db-fra.com

Exim - Beaucoup de messages figés sans expéditeur

Je suis nouveau sur Exim et je l'utilise comme un smarthost (pour recevoir des e-mails des utilisateurs et les envoyer à mon FAI). enter image description here

Le système fonctionne bien, mais j'ai des problèmes avec les messages figés. Je regarde parfois la file d'attente et il y a des messages figés sans expéditeur, donc Exim ne peut pas les envoyer, car s'il n'y a pas d'expéditeur, il ne peut pas s'authentifier auprès du FAI.

Où puis-je commencer à déboguer cela?

Merci un millon.

17

Ce sont des messages de rebond. Quelque chose envoie des messages via votre serveur de messagerie, mais le destinataire ne l'accepte pas, votre système génère donc un message de rebond. Ces messages de rebond sont également refusés, de sorte qu'ils sont "gelés" par l'exim MTA. Vous devez déterminer l'origine des messages et arrêter le flux de ces messages non autorisés.

exigrep 1UorWC-0002Nz-Mz /var/log/exim/main.log (ou quel que soit votre chemin)

Cela trouvera le message de rebond dans les journaux de messagerie. J'ai choisi un message figé dans ma file d'attente de messagerie comme exemple (1UosOk-0000ej-KG):

# exigrep 1UosOk-0000ej-KG /var/log/exim/main.log
+++ 1UosOk-0000ej-KG has not completed +++
2013-06-18 09:40:22 1UosOk-0000ej-KG <= <> R=1UosOf-0000bX-BV U=www P=local S=894 
2013-06-18 09:40:24 1UosOk-0000ej-KG ** [email protected] P=<> R=dnslookup_forwarder 
  T=remote_smtp_forwarder: SMTP error from remote mail server after RCPT TO:<[email protected]>: 
  Host mail.example.biz [80.76.197.72]: 554 5.7.1 <[email protected]>: Relay access denied
2013-06-18 09:40:24 1UosOk-0000ej-KG Frozen (delivery error message)

La première ligne indique que le message de rebond 1UosOk-0000ej-KG a été créé en réponse au message 1UosOf-0000bX-B (c'est ce que la phrase R = dans le <= ligne signifie). Recherchez maintenant [~ # ~] cet [~ # ~] identifiant de message pour savoir d'où provient réellement ce message. Dans mon cas, ce n'était pas un message de rebond, c'était un répondeur automatique d'un client:

# exigrep 1UosOf-0000bX-BV /var/log/exim/main.log
2013-06-18 09:40:18 1UosOf-0000bX-BV H=example.biz [62.189.29.157] Warning: SPF PASS (pass) to m.ivenue.com: 
  domain of example.biz designates 62.189.29.157 as permitted sender
2013-06-18 09:40:22 1UosOf-0000bX-BV <= [email protected] H=example.biz [62.189.29.157] P=esmtp S=17624
2013-06-18 09:40:22 1UosOf-0000bX-BV => /netapp3/mail/maildirs/b/o/y/boyexample.com/sarah/Maildir/ 
  ([email protected]) <[email protected]> P=<[email protected]> R=virtual_user T=address_directory
2013-06-18 09:40:22 1UosOf-0000bX-BV => sarah <[email protected]> P=<[email protected]> 
  R=autoresponder_always T=autoresponder_always_t
2013-06-18 09:40:22 1UosOf-0000bX-BV Completed

Une fois que vous avez découvert le processus utilisé pour envoyer ces messages via votre système, vous pouvez prendre des mesures pour les empêcher, en supposant que ce ne sont pas des messages valides pour commencer. Les mesures que vous prendrez dépendront beaucoup de ce que vous trouverez.

Généralement, vous ne voudrez pas essayer de renvoyer ces messages figés. Cependant, si les messages ont été gelés en raison d'une erreur temporaire de réseau ou de configuration, et que vous souhaitez faire renvoyer exim, vous devez générer une liste de messages gelés et dire à Exim de les remettre. Le moyen le plus simple est avec le programme exiqgrep:

exiqgrep -z -i | xargs -n 1 exim -M
23
Todd Lyons

Les e-mails gelés ne sont d'aucune utilité dans la file d'attente d'exim. Vous pouvez supprimer tout cela pour réduire la liste des files d'attente d'exim.

La commande suivante supprimera tous les e-mails gelés:

exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm

ou

exiqgrep -z -i | xargs exim -Mrm

Si vous souhaitez supprimer les e-mails gelés datant de plus d'une heure, par exemple 24 heures:

exiqgrep -zi -o 86400 | xargs exim -Mrm

86400 représente 24 heures en secondes. Cela peut être modifié en conséquence.

15
Leo Prince

Les rebonds gelés peuvent être automatiquement purgés par exim en définissant l'option de configuration ignore_bounce_errors_after à une valeur appropriée, par exemple.

ignore_bounce_errors_after = 12h

supprimera automatiquement ces erreurs de rebond après 12 heures.

5
krisku