3

一段时间以来,我一直在尝试从 gmail 获取电子邮件,对其进行解析,然后将所需的数据放入数据库中,但我发现使用 PHP MailParse 很难,因为它的文档很差。我尝试了在谷歌代码上找到的 MimeMailParser.class.php(它在内部使用 MailParse),但它没有按预期工作(或者可能是我的错)。

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

目标:我想解析电子邮件正文文本和正文 HTML,脚本:使用 MimeMailParse:

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

$text 的输出如 $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 正文和文本正文(我希望他们有一些示例和文档)

4

0 回答 0