php 5.3 został wprowadzony, aby uzyskać lepsze śledzenie poczty, ale nie jestem pewien, czy tak się stało. (edycja: tak php 5.3 ma teraz wbudowane logowanie - php.ini ma zmienną konfiguracyjną mail.log, która będzie rejestrować użycie poczty z kodu php.)
Rozwiązaliśmy problem, czyniąc sendmail skryptem powłoki.
W php.ini ustaw nowy mailer. Na przykład:
sendmail_path = /usr/local/bin/sendmail-php -t -i
Skrypt sendmail-php po prostu używa rejestratora, aby uzyskać informacje, a następnie wywołuje system sendmail:
#!/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 $*
Spowoduje to zalogowanie do dowolnego ustawienia mail.info w pliku syslog.conf.
Inną sugestią jest zainstalowanie rozszerzenia php suhosin, aby zmniejszyć luki w PHP, chyba że używasz Debiana lub Ubuntu, gdzie jest to już domyślne.