Obtenga el registro del correo enviado con mail () desde PHP (¿sendmail?)

13

Después de algunos cambios en el servidor, nuestra configuración de PHP se destruyó, lo que provocó que la gran lista de correo de un cliente se agotara parcialmente a través de aproximadamente 4,000 direcciones o más. Queremos evitar el envío de un correo duplicado tanto como sea posible, y tenemos la lista de correo original.

El correo se envió usando la mail()función de PHP , que usa sendmail, que dice que está usando Exim. He visto el comando:

sendmail -bp

Lo que me da una lista de correo que aparece fue enviado. Esta lista no es muy grande y podría ser precisa (lo que significa que el script agotó el tiempo de espera después de enviar solo un centenar de correos electrónicos)

¿ sendmail -bpCuál es la mejor manera de obtener este listado?

EDITAR: No puedo encontrar ningún mail.logarchivo en /var/log/mail.logo vía locate mail.log, pero WHM parece tener alguna información al respecto.

Kristopher Ives
fuente
¿Qué pasa con / var / log / maillog?
Antoine Benkemoun

Respuestas:

10

En sistemas basados ​​en Debian, Exim registra datos /var/log/exim4/mainlog.

Puede encontrar la herramienta eximstats útil para analizar y eliminar información útil de ese archivo de registro.

Zoredache
fuente
1
En centos, y probablemente RHEL / fedora, está en / var / log / exim_mainlog
yitwail
6

sendmail -bp(y mailq) solo enumera la cola de correo: mensajes en cola pero aún no enviados. No incluirá los mensajes que se entregaron correctamente.

Debe verificar /var/log/mail.log(y otros archivos de registro): casi siempre tienen registros de cada transferencia.

usuario1686
fuente