php 5.3 a été conçu pour un meilleur suivi du courrier, mais je ne sais pas si cela s'est produit. (edit: oui php 5.3 a intégré la journalisation maintenant - php.ini a la variable config mail.log qui enregistrera l'utilisation du courrier du code php.)
Nous avons résolu le problème en faisant de sendmail un script shell wrapper.
Dans php.ini, définissez un nouveau mailer. Par exemple:
sendmail_path = /usr/local/bin/sendmail-php -t -i
Le script sendmail-php utilise simplement l'enregistreur pour obtenir des informations, puis appelle le sendmail du système:
#!/bin/bash
logger -p mail.info -t sendmail-php "site=${HTTP_HOST}, client=${REMOTE_ADDR}, script=${SCRIPT_NAME}, filename=${SCRIPT_FILENAME}, docroot=${DOCUMENT_ROOT}, pwd=${PWD}, uid=${UID}, user=$(whoami)"
/usr/sbin/sendmail -t -i $*
Cela se connectera à tout ce que votre mail.info est défini dans le fichier syslog.conf.
Une autre suggestion est d'installer l'extension suhosin php pour resserrer les failles en PHP, sauf si vous utilisez Debian ou Ubuntu où c'est déjà la valeur par défaut.