Obter log de email enviado com mail () do PHP (sendmail?)

13

Após algumas alterações no servidor, nossa configuração do PHP foi desativada, o que fez com que a grande lista de endereços de um cliente atingisse o tempo limite parcialmente por cerca de 4.000 endereços ou mais. Queremos evitar o envio de uma mensagem duplicada, tanto quanto possível, e temos a lista de discussão original.

O email foi enviado usando a mail()função PHP , que usa sendmail, que diz que está usando Exim. Eu vi o comando:

sendmail -bp

O que me dá uma lista de mensagens que aparecem foram enviadas. Esta lista não é muito grande e pode ser precisa (o tempo limite do script expirou após o envio de apenas cem e-mails)

É sendmail -bpa melhor maneira de obter esta listagem?

EDIT: Não consigo encontrar nenhum mail.logarquivo /var/log/mail.logou via locate mail.log, mas o WHM parece ter algumas informações sobre isso.

Kristopher Ives
fonte
E o / var / log / maillog?
Antoine Benkemoun

Respostas:

10

Em sistemas baseados no Debian, o exim efetua login nos dados /var/log/exim4/mainlog.

Você pode encontrar a ferramenta eximstats útil para analisar e selecionar informações úteis desse arquivo de log.

Zoredache
fonte
1
Em centos, e provavelmente RHEL / Fedora, está em / var / log / exim_mainlog
yitwail
6

sendmail -bp(e mailq) lista apenas a fila de mensagens: mensagens na fila, mas ainda não foram enviadas. Não incluirá as mensagens que foram entregues com sucesso.

Você deve verificar /var/log/mail.log(e outros arquivos de log) - eles quase sempre têm registros de todas as transferências.

user1686
fonte