2013-06-18 1 views
15

Je suis nouveau à Exim et je l'utilise comme un smarthost (pour recevoir les emails des utilisateurs et les envoyer à mon FAI). enter image description hereExim - Beaucoup de messages bloqués sans expéditeur

Le système fonctionne correctement, mais j'ai des problèmes avec les messages bloqués. Je regarde parfois la file d'attente et il y a des messages bloqué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 millier.

Répondre

20

Ce sont des messages de rebond. Quelque chose envoie des messages via votre serveur de messagerie, mais le destinataire ne l'accepte pas, de sorte que votre système génère un message de rejet. Ces messages rebond sont également refusés, ils sont donc "gelés" par le MTA exim. Vous devez déterminer d'où proviennent les 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 est)

qui trouveront le message de rebond dans les journaux de courrier. Je pris un message congelé dans ma file d'attente de messagerie comme un 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 signifie la phrase R = dans la ligne < =). Maintenant, recherchez QUE ID de message pour savoir d'où vient ce message. Dans mon cas, il n'a pas été un message de rebond, il était le 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 découvrez ce processus est utilisé pour envoyer ces messages à travers votre système, vous pouvez prendre des mesures pour les empêcher, en supposant qu'ils ne sont pas des messages valides pour commencer. Quelles mesures vous prendrez dépendra beaucoup de ce que vous trouvez.

Habituellement, vous ne voudrez pas essayer de renvoyer ces messages bloqués. Toutefois, si les messages ont été bloqués en raison d'une erreur de réseau ou de configuration temporaire et que vous souhaitez les renvoyer, vous devez générer une liste de messages bloqués et demander à Exim de les livrer. Le moyen le plus simple consiste à utiliser le programme exiqgrep:

exiqgrep -z -i | xargs -n 1 exim -M 
+0

Salut, connu aujourd'hui. Bien expliqué. Alors, comment renvoyez-vous ces messages gelés? Et quelles mesures sont prises pour les prévenir habituellement exactement? Merci beaucoup! – jagc

+0

Ajout d'un paragraphe expliquant comment renvoyer. –

13

Les courriers gelés ne sont d'aucune utilité dans une file d'attente exim. Vous pouvez supprimer tous ces éléments pour réduire la liste des files d'attente exim.

La commande suivante supprimera tous les mails congelés:

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

ou

exiqgrep -z -i | xargs exim -Mrm

Si vous souhaitez supprimer mails congelés de plus d'une heure particulière, par exemple 24 heures :

exiqgrep -zi -o 86400 | xargs exim -Mrm

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

+2

Ce sont de bonnes suggestions sur la gestion des files d'attente. À mon humble avis, la commande exiqgrep est toujours préférable à utiliser que la sortie de exim -bpr (aka 'mailq' commande). Il produira toujours une sortie cohérente et contrôlée. –

5

rebonds congelés peuvent être automatiquement purgés par exim en définissant l'option de configuration ignore_bounce_errors_after à une valeur convenable, par exemple

ignore_bounce_errors_after = 12h 

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

+0

Vous devez également ajouter 'timeout_frozen_after = 1d' pour annuler (supprimer) les messages congelés qui sont plus d'une journée. – andreszs

Questions connexes