Документация для отправки писем с Zend_Mail великолепна, но получение писем - это боль прямо сейчас. В настоящее время я хочу получить часть открытого текста и часть html электронной почты. Прямо сейчас у меня есть длинная функция, которая проходит через части, а затем смотрит на заголовки и смотрит на нее, является ли она quoated printable или base64, и мне нужно сделать много, чтобы просто получить информацию. Может, мне не хватает функции, с помощью которой я могу просто получить открытый текст и html нашего письма?Zend_Mail reading Mail
1
A
ответ
4
Письма AFAIK, MIME не имеют стандарта для заказа различных частей (HTML, открытый текст, вложения). Поэтому вам придется перебирать все части и получать нужные вам детали.
Но поскольку структура Zend_Mail рекурсивна, итерация должна быть довольно простой. Может быть, вы можете поделиться своим кодом с нами, чтобы мы могли прокомментировать его (если есть что сказать)?
0
Try реализовать что-то вроде этого:
/**
* Returns the parts with plain text
*
* @param Zend_Mail_Message $message
* @return array of Zend_Mail_Part
*/
public function findTextParts(Zend_Mail_Message $message){
$result = array();
foreach (new RecursiveIteratorIterator($message) as $part) {
$token = strtok($part->contentType, ';');
if ($token == 'text/plain') {
$result[] = $part;
}
}
return $result;
}