Мне просто интересно, можно ли извлечь информацию из полученного электронного письма, чтобы затем использовать его. Я бы предпочел PHP; однако, если это также возможно с Asp.net, то я был бы готов попробовать.
Мне просто нужно, чтобы код (PHP или Asp.net) автоматически «взорвал» информацию, чтобы содержимое в теле можно было прочитать и использовать для других целей.
Похоже, вы ищете способ разбора электронной почты в PHP.
Для этого есть модуль PHP:
http://php.net/manual/fr/book.mailparse.php
Сначала вам нужно установить этот модуль (через pecl, yum, apt или напрямую, в зависимости от вашей системы). Например:
pecl install mailparse
Вам также нужно загрузить его после других модулей php. Вам нужно найти точное местоположение в вашей системе с помощью INI-файлов для модулей PHP. Это может быть, например:
/etc/php.d/ (Redhat / Centos)
или же
/etc/php/7.0/fpm/conf.d/ (Ubuntu с fpm PHP 7)
если вы запустите phpinfo (), он даст вам строку
«Сканируйте этот каталог для дополнительных файлов .ini» с этим местоположением.
Создайте файл в этом каталоге с именем что-то вроде 99-mailparse.ini для последней загрузки. Поместите эти строки в этот файл:
extension=mbstring.so
extension=mailparse.so
Обратите внимание, что mbstring должен быть загружен до mailparse.
Если ваш сервер работает под управлением 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';
Он дает вам прямой доступ ко всем почтовым компонентам (заголовки с полями to / from, тема, тело в разных форматах, вложения и т. Д.).
Например, чтобы извлечь тело сообщения из необработанной текстовой строки электронной почты (например, $ emailRawText):
$Parser = new PhpMimeMailParser\Parser();
$Parser->setText($emailRawText);
$text = $Parser→getMessageBody('text');
Вы можете играть с параметрами и выходами в зависимости от того, что именно вы хотите извлечь из электронных писем.
Других решений пока нет …