2017-02-21 24 views
-1

Мне просто интересно, можно ли извлекать информацию из письма, которое было получено для использования. Я бы предпочел PHP; однако, если это возможно и с Asp.net, я бы хотел попробовать.Как извлечь информацию из электронной почты с помощью asp.net или php

Мне просто нужно, чтобы код (PHP или Asp.net) автоматически вносил «взрыв» информацию, чтобы содержимое в теле можно было читать и использовать для других целей.

+3

Уверен, это возможно. Вопрос ответил. Теперь, что вы действительно хотели спросить? – mason

ответ

1

Кажется, что вы ищете способ разобрать электронную почту на 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'); 

Вы можете играть с параметрами и выходами в зависимости от того, что именно вы хотите, чтобы извлечь из сообщения электронной почты.