Если письмо кладется в файл, то можно следить за каталогом с письмами с помощью inotify (linux-only?).
В Дебиане и Убунте смотрите на пакеты incron, iwatch.
Вариант №2 — следить за логами nginx'a и запускать команду при ловле события:
(
date +'%Y.%m.%d %H:%M:%S -- Started...'
while : ; do
tail -F /var/log/nginx/access.log |
grep --line-buffered -i -- "smtp" |
while read line; do
date +"%Y.%m.%d %H:%M:%S -- $line"
php -f /path/to/checkmail.php
done
date +'%Y.%m.%d %H:%M:%S -- Restarted...'
sleep 30
done
) > /var/log/checkmail.log 2>&1 &
Примерно так.