PHP mail()
function envia mensagens de acordo com o MTA definido como sendmail_path
valor em php.ini
, por padrão, está configurado para seguir:
sendmail_path = /usr/sbin/sendmail -t -i
em alguns sistemas é um link simbólico para o binário do MTA, no meu caso é um binário compatível com sendmail do pacote MTA postfix, em outro caso pode ser o sendmail ou qmail ou o que você usa:
[root@giomacdesk ~]# ll /usr/sbin/sendmail
lrwxrwxrwx. 1 root root 21 ივლ 3 11:33 /usr/sbin/sendmail -> /etc/alternatives/mta
[root@giomacdesk ~]# ll /etc/alternatives/mta
lrwxrwxrwx. 1 root root 26 ივლ 3 11:33 /etc/alternatives/mta -> /usr/sbin/sendmail.postfix
Então, de acordo com isso, você pode:
altere sendmail_path
para o seu script personalizado, escreva o analisador e filtre as mensagens de acordo. Isso afetará apenas as mensagens enviadas enviadas pelo PHP mail()
, onde sendmail_path
foi alterado.
alterar a configuração do servidor de e-mail - isso afetará todas as mensagens enviadas via MTA do seu servidor, para isso você deve verificar qual é o seu servidor e configurá-lo adequadamente
No caso do postfix:
-
adicione o seguinte ao /etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport_maps
-
crie o arquivo
/etc/postfix/transport_maps
com o seguinte conteúdo:alloweddomain.com : * discard:
-
hash: execute
postmap /etc/postfix/transport_maps
-
reinicie o postfix