nem tulsagosan nehez.
a php.ini-ben a sendmail helyett allits be egy wrapper scriptet, pl igy:
sendmail_path = /usr/local/bin/trapmail
Majd hozz letre egy ilyen allomanyt, aminek a fo feladata az, hogy a sendmail-t meghivja - es hogy megcsinalhasd vele az access controlt.
Az enyem egy kicsit kiegesziti a level headerjet, de a vazat nyugodtan hasznalhatod a te problemadra is:
$ cat usr/local/bin/trapmail
#!/bin/sh
umask 077
TEMP=/tmp
CHROOT=11
trap "rm -f msg.$$ ; exit 1" 0 1 2 3 15
rm -f msg.$$ || exit 1;
cat | formail -f -I "X-sent-by-chroot: \"$CHROOT\"" >$TEMP/trapmail.$$
exec <$TEMP/trapmail.$$ || exit 1
rm -f $TEMP/trapmail.$$ # safe, we hold the file descriptor
exec /usr/sbin/sendmail -t -i "$@"
exit 1
NOTE: ez nem ved meg attol, hogy valaki system()-mel vagy exec()-cel meghivja a sendmail binarist kozvetlenul... De ezeket a hivasokat minden epeszu sysop elore letiltja.
asd