web-dev-qa-db-fra.com

Obtenez le journal du courrier envoyé avec mail () à partir de PHP (sendmail?)

Après que certains changements de serveur changent de PHP Configuration gagné à Nuked, ce qui a entraîné une grande liste de diffusion d'un client à tendre partiellement à environ 4 000 adresses ou plus. Nous voulons éviter d'envoyer autant que possible d'envoyer un courrier en double autant que possible, Et nous avons la liste de diffusion d'origine.

Le courrier a été envoyé à l'aide de la fonction PHP mail(), qui utilise sendmail, qui dit qu'il utilise Exim. J'ai vu la commande:

sendmail -bp

Ce qui me donne une liste de courrier qui apparaît a été envoyé. Cette liste n'est pas très grosse et pourrait être précise (ce qui signifie que le script a expiré après avoir envoyé seulement cent ou par courrier électronique)

Est sendmail -bp la meilleure façon d'obtenir cette annonce?

éditer : Je ne trouve pas d'mail.log Fichier dans /var/log/mail.log ou via locate mail.log, mais WHM semble avoir des informations à ce sujet.

13
Kristopher Ives

Sur les systèmes de Debian Systems Exim Logs Data dans /var/log/exim4/mainlog.

Vous pourriez trouver l'outil eximstats utile pour analyser et couper des informations utiles sur ce fichier journal.

11
Zoredache

sendmail -bp (et mailq) ne répertorie que la file d'attente de messagerie: Messages en file d'attente mais pas encore envoyée. Il n'inclut pas ces messages qui ont été livrés avec succès.

Vous devriez vérifier /var/log/mail.log (et d'autres logfiles) - ils ont presque toujours des enregistrements de chaque transfert.

6
user1686

pHP 5.3.0 Ajouté 2 paramètres qui facilitent le suivi des scripts voyous:

mail.add_x_header
mail.log

http://php.net/manual/fr/mail.configuration.php

3
minusf