2024 年 PHP Conference Japan

Mailparse 函式

目錄

新增註解

使用者貢獻的註解 3 則註解

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);
}

?>
iwarner at triangle-solutions dot com
20 年前
還有,別忘了在載入 mailparse 之前先載入 mbstring

php.ini 中的範例,請按照此順序放置

extension=php_mbstring.dll
extension=php_mailparse.dll

否則會出現錯誤。

Ian
wberrier at yahoo dot com
22 年前
[作者註記
4.2.x 的 tarball 可以在這裡找到
http://thebrainroom.com/opensource/php/mailparse.php
其中包含一個名為 try.php 的腳本,示範了這些函式的用法。
]

我已將檔案內容貼在下方

<?php
/*
* This is a simple email viewer.
* make sure that $filename points to a file containing an email message and
* load this page in your browser.
* You will be able to choose a part to view.
* */

$filename = "uumsg";

/* parse the message and return a mime message resource */
$mime = mailparse_msg_parse_file($filename);
/* return an array of message parts - this contsists of the names of the parts
* only */
$struct = mailparse_msg_get_structure($mime);

echo
"<table>\n";
/* print a choice of sections */
foreach($struct as $st) {
echo
"<tr>\n";
echo
"<td><a href=\"$PHP_SELF?showpart=$st\">$st</a></td>\n";
/* get a handle on the message resource for a subsection */
$section = mailparse_msg_get_part($mime, $st);
/* get content-type, encoding and header information for that section */
$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 we were called to display a part, do so now */
if ($showpart) {
/* get a handle on the message resource for the desired part */
$sec = mailparse_msg_get_part($mime, $showpart);

echo
"<table border=1><tr><th>Section $showpart</th></tr><tr><td>";
ob_start();
/* extract the part from the message file and dump it to the output buff
er
* */
mailparse_msg_extract_part_file($sec, $filename);
$contents = ob_get_contents();
ob_end_clean();
/* quote the message for safe display in a browser */
echo nl2br(htmlentities($contents)) . "</td></tr></table>";;
}
?>
To Top