Это можно сделать с помощью компонента Zend_Mail Zend Framework
Может быть, этот пример, который также можно найти в документации, помогает:
// get the first none multipart part
$part = $message;
while ($part->isMultipart()) {
$part = $message->getPart(1);
}
echo 'Type of this part is ' . strtok($part->contentType, ';') . "\n";
echo "Content:\n";
echo $part->getContent();
Однако я не знаю, как вы можете сказать Zend Mail читать из строк, может быть, для этого требуется некоторая работа, но тогда у вас будет полноценная библиотека, которая делает то, что вы хотите, и еще немного (например, чтение темы и т. д.).
Редактировать
Я только что взглянул на него второй раз и понял, что все, что вам нужно сделать, это написать собственную реализацию хранилища (подкласс Zend_Mail_Storage_Abstract), которая не должна быть такой сложной для выполнения.
Я думаю, что это самое чистое решение, которое вы получите, хотя для его работы требуется небольшое усилие.
Если вы ищете более быстрое и грязное решение, вам может помочь кто-то другой.
Надеюсь, это поможет.