时时商务社区
标题:
构建简单的Webmail系统
[打印本页]
作者:
wx_pylelnL4
时间:
2018-2-14 09:41
这是一段Web Mail的示范代码,功能不是很强,但是结构还比较完整,主要的功能如查看文件夹,查看信件,回复,写信都有。但是程序中没有考虑附件解读和发送的问题。 (原文在 这里)。仅推荐给希望了解Webmail编程的网友做个参考。更加完善的Webmail请大家到 这里查找。
请注意:程序中使用了http认证功能,此功能需配合apache服务器使用。
--------------------------------------------------------------------------------
将以下代码分别存为 index.php3, imapfuncs.phl
配置imapfuncs.phl文件中的$M_HOST = "localhost"; $M_MAILSERVER = "transit.fast.no";
然后浏览 index.php3 即可.
--------------------------------------------------------------------------------
index.php3
[B]
[/B]
--------------------------------------------------------------------------------
imapfuncs.phl
\n";
echo "\n";
echo "[TR]";
echo " FromSubjectDate";
echo "[/TR]\n";
for ($i=1; $i fetchfrom;
$subj = $head->fetchsubject;
$date = m_date_format($head->date);
$bgcolor = ($i%2 == 0)?$M_COLOR_ODD
M_COLOR_EVEN;
echo "[TR]\n";
echo " [TD][I][/TD]\n";
echo " [TD]$from[/TD]";
echo "[TD][url=]$subj[/url][/TD]";
echo "[TD]$date[/TD]\n";
echo "[/TR]\n";
}
if ($num \n";
echo "\n";
return true;
}
function m_display($msgno, $mailbox = '')
{
global $MBOX, $M_COLOR_HEAD, $M_COLOR_BG;
global $PHP_SELF;
if (! $MBOX) {
if (! m_login($mailbox)) {
return false;
}
}
$struc = imap_fetchstructure($MBOX, $msgno);
if (! $struc) {
return false;
}
$head = imap_header($MBOX, $msgno, 50, 50, 0);
$from = $head->fromaddress;
$subj = $head->subject;
$date = $head->date;
$body = htmlentities(imap_body($MBOX, $msgno));
echo "\n";
echo "[table]\n";
echo "[TR]Message #$msgno: $from / $subj[/TR]\n";
echo "[TR][TD]\n";
echo "From: $from\n";
echo "Subject: $subj\n";
echo "Date: $date\n";
echo "\n";
echo "$body\n";
echo "[/TD][/TR]\n";
echo "[TR][TD]";
echo "";
echo "[I]\n";
echo "[I]\n";
echo "[I]\n";
echo "[I]";
echo "[I]";
echo " [I]";
echo "[/TD][/TR]\n";
echo "\n";
echo "\n";
return true;
}
function m_delete ($msgno, $mailbox='')
{
global $MBOX;
if (is_array($msgno)) {
while (list($dummy, $num) = each($msgno)) {
imap_delete($MBOX, $num);
}
imap_expunge($MBOX);
} else {
return false;
}
return true;
}
function m_compose ($msgno='', $mailbox='')
{
global $MBOX, $M_COLOR_HEAD, $M_COLOR_BG;
global $PHP_SELF, $PHP_AUTH_USER, $M_MAILSERVER;
if ($msgno != '') {
$head = imap_header($MBOX, $msgno, 150, 150, 0);
$to = $head->fromaddress;
$subject = "Re: " . $head->subject;
$body = "$to wrote:\n";
$body .= ereg_replace("\n","\n>", "\n" . imap_body($MBOX, $msgno));
} else {
$to = "";
$subject = "";
$body = "";
}
echo "\n";
echo "\n";
echo "[table]\n";
echo "[TR][TD]To:[/TD]";
echo "[TD][I][/TD][/TR]\n";
echo "[TR][TD]Subject:[/TD]";
echo "[TD][I][/TD][/TR]\n";
echo "[TR][TD]";
echo "$body";
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2