Ceci n'est pas un blog

Blog personale di Ivan Agliardi con pagine di informatica, linguaggi, idee…

PHP: loggare gli invii di messaggi effettuati con la funzione mail()

A partire dalla versione 5.3.0 di PHP è possibilie abilitare il monitoraggio delle attività di invio dei messaggi da parte della funzione mail(). Si tratta di una precauzione fondamentale per chi offre un servizio di hosting a qualsiasi livello in quanto permette di individuare tempestivamente e con la massima precisione quale script di quale utente sta inviando messaggi attraverso il server. La funzione mail() infatti non viene tracciata dai normali log dell’MTA che sta girando sul server – ad es.: Postfix.

Abilitare questa feature fondamentale è semplice, basta editare il file php.ini richiamato da Apache e indicare esattamente dove vogliamo loggare i comportamenti di mail():

mail.log = /var/log/phpmail.log

Una volta impostato questo valore è sufficiente riavviare apache:

/etc/init.d/apache2 restart

Due sole note importanti:

  1. individuate quale file php.ini stanno chiamando in causa i VirtualHost di Apache, se ad esempio stiamo offrendo il servizio in modalità fast-cgi il file corretto è /etc/php5/cgi/php.ini
  2. abilitate la scrittura del file di log con privilegi sufficienti per tutti gli utenti, nella maggior parte dei casi per garantire la scrittura dovrete impostare il file a 660 o 666

Questo è quanto.

 

A proposito di Ivan Agliardi

Ho immaginazione e creatività, ma non sono un artista. Faccio interagire tra loro aziende dando vita a nuove imprese, ma non sono un imprenditore. Mi occupo da oltre 15 anni di server Linux, applicazioni web, database, domini, hosting, housing, sicurezza informatica e sistemi embedded, ma non sono un tecnico. Faccio SEO, SEM, SMM e fornisco contenuti attraverso i miei copyrighter, ma non sono un uomo marketing. Ora ho di nuovo un blog, ma non sono un blogger. Sono solo un umanista e un informatico della prima ora. E mi circondo di gente con le palle :)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ivan Agliardi

Ivan Agliardi