Начните с PEAR Mail_mimeDecode
. То, что вы хотите сделать, амбициозно, но может быть сделано.
В основном то, что вы будете делать:
Указание вашему MTA доставлять почту с адреса на канал в ваш PHP-скрипт. Postfix и Sendmail могут обрабатывать это с помощью псевдонима:
myemail: "|/path/to/your/parsingscript.php"
- Разбор частей сообщения электронной почты MIME
- Поиск и сохранение вложений после декодирования их из base64 (или другой кодировки)
- Разбор заголовков.
Ваш PHP-сценарий, скорее всего, прочитает сообщение электронной почты из STDIN и затем передаст строку в mimeDecode
, что создаст объект, содержащий все части MIME.
Если ваше сообщение было получено в $str
от STDIN , что-то вроде этого заставляет вас начать:
$mime = Mail_mimeDecode::decode(array('include_bodies'=>TRUE, 'decode_headers'=>TRUE, 'decode_bodies'=>TRUE, 'input'=>$str));
// get the recipient To address:
$to = $mime->headers['to'];