Я использую postfix для моего почтового сервера linux. Цель состоит в том, чтобы любая входящая почта была сброшена в базу данных с заголовками и информацией о сообщении, а затем удалялось электронное письмо с почтового сервера. Есть ли способ сделать postfix сообщение сообщение в php-файл каждый раз, когда приходит новое электронное письмо, а затем удаляет сообщение электронной почты? Единственный другой способ, с помощью которого можно сделать сценарий опроса сервера электронной почты, прочитать каждую почту и передать содержимое в базу данных, а затем удалить сообщения с почтового сервера. Возможность иметь постфикс автоматически выполнить скрипт php для всех новых входящих сообщений будет лучшим выбором. Если это имеет значение, почтовый сервер и сервер с php-файлом совпадают. Любое направление в этом вопросе было бы высоко оценено.
использовать .forward, / etc / aliases, hashtable и т. д. для пересылки почты в скрипт.
В / etc / aliases у меня есть
mysite-confirm: |/home/mysite/confirm.sh
В confirm.sh, у меня есть
#!/bin/sh basedir=/home/mysite/www php -d include_path=$basedir/includes -f $basedir/cli/confirm.php
В confirm.php происходит волшебство:
$contents = file_get_contents("php://stdin"); do_magic_with_mail($contents);
Все довольно просто и жестко. Единственным недостатком является то, что вы можете отправить mysite-confirm@any_domain_I_host.com, но вы можете исправить это с помощью правильных псевдонимов / виртуальных карт и т. Д.