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