Я установил систему, в которой все письма отправляются в мой скрипт. В master.cf у меня есть:
phptran unix - n n - - pipe flags=DFORq user=nobody argv=/usr/bin/php5 /root/phptran.php ${sender} ${recipient}
Я могу получать почту и заголовки, но не могу получить всю команду RCPT TO, в частности часть NOTIFY, например, в команде
RCPT TO:user@domain.com NOTIFY=SUCCESS,FAILURE
Как я могу получить эту информацию из скрипта? Может быть, есть способ поместить это в заголовки?
Любое руководство будет высоко оценено.
Я нашел решение, но оно мне действительно не нравится (слишком сложно). Так что, если у кого-то есть другая идея, я был бы очень признателен.
Из заголовка сообщения я могу получить идентификатор сообщения ESMTP. С идентификатором сообщения я могу получить содержимое сообщения в активной очереди (используя postcat -q).
В результате postcat есть named_attribute: notify_flags, который является побитовым или из следующих значений: никогда: 1 успех: 2 сбой: 4 задержка: 8