php MIME mailparse - imap。如何解析正文和正文html?

时间:2014-07-14 10:09:18

标签: php email imap email-parsing mime-mail

我已经有一段时间了,我正在尝试从gmail获取电子邮件,解析它们然后将所需数据放入数据库,但我发现它很难使用PHP MailParse哪个文档很差。我尝试了在谷歌代码上找到的MimeMailParser.class.php(它在里面使用MailParse),但它没有按预期工作(或者可能是我的错)。

情况:客户端在不同的邮件地址上发送电子邮件,所有这些电子邮件都转发到唯一的电子邮件地址。我必须在这个中央邮箱上收到电子邮件。

目标:我想解析电子邮件BODY TEXT和BODY HTML, 剧本: 使用MimeMailParse:

$body = imap_body($imap_connection,$email_number);
$parser->setText($body);
$text = $parser->getMessageBody('text');
$html = $parser->getMessageBody('html');

$ body的输出,如$ body, $ html的输出为空。

使用原始Mailparse:

$buffer = imap_body($imap, $i);
$mail = mailparse_msg_create();
$pro = mailparse_msg_parse($mail,$buffer);
$struct = mailparse_msg_get_structure($mail); 
print_r($struct); // this outputs always: 1
foreach($struct as $st) { 
    $section = mailparse_msg_get_part($mail, $st); 
    $info = mailparse_msg_get_part_data($section);   
    print_r($info);
}

输出:

Array
(
    [0] => 1
)
struct endArray
(
    [headers] => Array
        (
        )

    [starting-pos] => 0
    [starting-pos-body] => 48
    [ending-pos] => 4186
    [ending-pos-body] => 4186
    [line-count] => 93
    [body-line-count] => 91
    [charset] => us-ascii
    [transfer-encoding] => 8bit
    [content-type] => text/plain
    [content-base] => /
)

那么如何使用这些库或其他库获取html正文和文本正文(我希望他们有一些示例和文档)

0 个答案:

没有答案