一段时间以来,我一直在尝试从 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 正文和文本正文(我希望他们有一些示例和文档)