2010-06-08 4 views
1

У меня есть php-скрипт, который будет передавать сообщение электронной почты catch и обрабатывать его.Процесс ПОЛУЧЕНИЕ электронной почты с PHP

#!/usr/local/bin/php -q 
<?php 
while (!feof(STDIN)) {$s .= fgets(STDIN);} 
// Now do some work on the email source in $s. 
?> 

Это прекрасно работает. Мой вопрос заключается в том, как сохранить вложение в файловую систему из источника. Например, если я выделил раздел ниже, как мне нужно его обработать, прежде чем сохранять его в файл gif для создания действительного gif?

Я предполагаю, что мне нужно изменить кодировку или иначе обработать ее, но кто-нибудь знает точно?

Спасибо!

--------------090607000609050308090504 
Content-Type: image/gif; 
name="tfk.gif" 
Content-Transfer-Encoding: base64 
Content-ID: <[email protected]> 
Content-Disposition: attachment; 
filename="tfk.gif" 

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 
--------------090607000609050308090504-- 

ответ

1

Попробуйте PEAR_Mail_MimeDecode класс из груши. Вы можете прокормить всю почту и возвращать различные части MIME ... и нет необходимости устанавливать расширение.

2
+0

+1 Это, безусловно, наиболее эффективное решение, хотя оно не может быть выполнено на общем хосте. – Artefacto

+0

Для получения дополнительной информации посетите http://code.google.com/p/php-mime-mail-parser/, так как документация Mailparse отсутствует. – daharon

1

Для PHP решения (без расширений C требуется), есть PEAR Mail_mimedecode.

После разбора электронной почты, у вас уже есть вложение потокового, нет необходимости в base64 не расшифровывать себя.

Смежные вопросы