2017-02-21 86 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/(红帽/ Centos的) 或 /etc/php/7.0/fpm/conf.d/(Ubuntu的与FPM PHP 7)

如果您运行phpinfo(),它会为您提供一行 “使用此位置扫描此目录以获得额外的.ini文件”。

在该目录下创建一个名为类似于99-mailparse.ini的文件来加载最后一个文件。将这些行放入此文件中:

extension=mbstring.so 
extension=mailparse.so 

请注意,必须在mailparse之前加载mbstring。

如果您的服务器运行Windows,请将.so替换为.dll。

如果您使用Web服务器(例如Apache)运行php,然后重新加载它。

虽然可以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'); 

您可以根据您想要从邮件中提取正是参数和输出播放。

相关问题