PHP Conference Japan 2024

Mailparse 函数

目录

添加注释

用户贡献的注释 3 条注释

7
boris at gamate dot com
21 年前
如何处理来自变量的邮件内容的示例

<?php

$buffer
= [...] // 来自管道或其他地方的邮件内容

$mail = mailparse_msg_create();
mailparse_msg_parse($mail,$buffer);
$struct = mailparse_msg_get_structure($mail);

foreach(
$struct as $st) {
$section = mailparse_msg_get_part($mail, $st);
$info = mailparse_msg_get_part_data($section);

print_r($info);
}

?>
4
iwarner at triangle-solutions dot com
20 年前
另外,不要忘记在加载 mailparse 之前加载 mbstring

例如,在 php.ini 中按以下顺序放置:

extension=php_mbstring.dll
extension=php_mailparse.dll

否则,您将收到错误。

Ian
4
wberrier at yahoo dot com
22 年前
[作者注
4.2.x 的 tarball 可以在这里找到
http://thebrainroom.com/opensource/php/mailparse.php
并包含一个名为 try.php 的脚本,该脚本演示了这些函数的使用。
]

我已经粘贴了文件的内容在下面



<?php
/*
* 这是一款简单的邮件查看器。
* 请确保 $filename 指向包含邮件消息的文件,并
* 在浏览器中加载此页面。
* 您可以选择要查看的部分。
* */

$filename = "uumsg";

/* 解析邮件并返回邮件消息资源 */
$mime = mailparse_msg_parse_file($filename);
/* 返回邮件部分的数组 - 这仅包含部分的名称
* */
$struct = mailparse_msg_get_structure($mime);

echo
"<table>\n";
/* 打印部分选择 */
foreach($struct as $st) {
echo
"<tr>\n";
echo
"<td><a href=\"$PHP_SELF?showpart=$st\">$st</a></td>\n";
/* 获取子部分的邮件资源句柄 */
$section = mailparse_msg_get_part($mime, $st);
/* 获取该部分的内容类型、编码和头信息 */
$info = mailparse_msg_get_part_data($section);
echo
"\n";
echo
"<td>" . $info["content-type"] . "</td>\n";
echo
"<td>" . $info["content-disposition"] . "</td>\n";
echo
"<td>" . $info["disposition-filename"] . "</td>\n";
echo
"<td>" . $info["charset"] . "</td>\n";
echo
"</tr>";
}
echo
"</table>";

/* 如果我们被调用来显示一个部分,现在就执行 */
if ($showpart) {
/* 获取所需部分的邮件资源句柄 */
$sec = mailparse_msg_get_part($mime, $showpart);

echo
"<table border=1><tr><th>部分 $showpart</th></tr><tr><td>";
ob_start();
/* 从邮件文件中提取部分并将其转储到输出缓冲区
* */
mailparse_msg_extract_part_file($sec, $filename);
$contents = ob_get_contents();
ob_end_clean();
/* 引用邮件以在浏览器中安全显示 */
echo nl2br(htmlentities($contents)) . "</td></tr></table>";;
}
?>
To Top