Кажется, что вы ищете способ разобрать электронную почту на PHP.
Существует PHP-модуль для этого: http://php.net/manual/fr/book.mailparse.php
Вам нужно установить этот модуль первым (через PECL, ни, кв или непосредственно, в зависимости от вашей системы). Например:
pecl install mailparse
Вам также необходимо загрузить его после других модулей php. Вам нужно найти точное местоположение в вашей системе с ini-файлами для php-модулей. Это может быть, например:
/etc/php.d/ (Redhat/Centos) или /etc/php/7.0/fpm/conf.d/ (Ubuntu с PHP 7 футов в минуту)
если вы запустите phpinfo(), он даст вам строку «Сканировать этот каталог для дополнительных файлов .ini» с этим местоположением.
Создайте файл в этом каталоге с именем 99-mailparse.ini для загрузки последнего. Поместите эти строки в этот файл:
extension=mbstring.so
extension=mailparse.so
Обратите внимание, что mbstring необходимо загрузить перед отправкой почты.
Если ваш сервер работает под управлением Windows, замените .so на .dll.
Если вы запустите php с веб-сервером (например, Apache), перезагрузите его.
В то время как вы можете использовать mailparser непосредственно, простое решение было бы использовать обертку вокруг него, как это:
https://github.com/php-mime-mail-parser/php-mime-mail-parser
Установите его в свой проект:
composer require php-mime-mail-parser/php-mime-mail-parser
Затем включают в ваш файл php:
require_once __DIR__.'/vendor/autoload.php';
Это дает вам прямой доступ ко всем почтовым компонентам (заголовки с полями/тегами, темой, телом в разных форматах, наложениями и т. д.).
Например, чтобы извлечь тело сообщения из сырых электронной текстовой строки (например, $ emailRawText):
$Parser = new PhpMimeMailParser\Parser();
$Parser->setText($emailRawText);
$text = $Parser→getMessageBody('text');
Вы можете играть с параметрами и выходами в зависимости от того, что именно вы хотите, чтобы извлечь из сообщения электронной почты.
Уверен, это возможно. Вопрос ответил. Теперь, что вы действительно хотели спросить? – mason