Я недавно работал над проектом, который имел эту потребность. Я имел большой успех, используя файл .forward в домашнем каталоге почтовых аккаунтов. Например, допустим, вы пытаетесь сделать это для адреса foo@bar.com, а сервер, с которым вы работаете, является почтовым сервером для bar.com. Сначала вам нужно будет создать файл .forward для этой учетной записи. На сервере, на котором я работал, это будет:
/home/email/foo@bar.com/.forward
Содержимое этого файла было следующим:
"| /path/to/script.php"
Кроме того, владельцем файла .forward был foo@bar.com, а chmod'd до 600 (чтение / запись только для владельца.)
Далее вам нужно настроить скрипт, на который вы отправляете почту (/path/to/script.php выше.)
Во-первых, этот скрипт должен быть исполняемым (+ x). Остальное просто читает STDIN и обрабатывает его так, как вы пожелаете. Вот пример сценария, который читает все сообщение и сохраняет его в переменной $ email.
#!/usr/local/bin/php
<?php
$fd = fopen("php://stdin","r");
$email = '';
while($feof($fd)){
$email .= fread($fd, 1024);
}
fclose($fd);
?>
Надеюсь, это помогло вам.