构建简单的Webmail系统
这是一段Web Mail的示范代码,功能不是很强,但是结构还比较完整,主要的功能如查看文件夹,查看信件,回复,写信都有。但是程序中没有考虑附件解读和发送的问题。 (原文在 这里)。仅推荐给希望了解Webmail编程的网友做个参考。更加完善的Webmail请大家到 这里查找。请注意:程序中使用了http认证功能,此功能需配合apache(Unix平台最流行的WEB服务器平台)服务器使用。
--------------------------------------------------------------------------------
将以下代码分别存为 index.php(做为现在的主流开发语言)3, imapfuncs.phl
配置imapfuncs.phl文件中的$M_HOST = "localhost"; $M_MAILSERVER = "transit.fast.no";
然后浏览 index.php(做为现在的主流开发语言)3 即可.
--------------------------------------------------------------------------------
index.php(做为现在的主流开发语言)3
<?php(做为现在的主流开发语言)
/* $Id: index.php(做为现在的主流开发语言)3,v 1.3 1999/04/14 12:12:32 borud Exp $ */
/* load the IMAP library functions weve written */
include("imapfuncs.phl");
m_login($m);
?>
<HTML>
<HEAD>
<TITLE><?php(做为现在的主流开发语言) echo "$M_SYSNAME"; ?></TITLE>
</HEAD>
<BODY bgcolor=#AAAAAA text=#000000 link=#440000 vlink=#440000 alink=#FF00FF>
<H1 ALIGN=CENTER><?php(做为现在的主流开发语言) echo "$M_SYSNAME"; ?></H1>
<HR SIZE=1 NOSHADE>
<P>
<?php(做为现在的主流开发语言)
if ($cmd == "delete") {
m_delete($marked, $m);
m_list($m);
}
elseif ($cmd == "display") {
m_display($n, $m);
}
elseif ($cmd == "compose" || $cmd == "reply") {
m_compose($n, $m);
}
elseif ($cmd == "send") {
m_send($to, $subject, $body);
m_list($m);
}
else {
m_list($m);
}
?>
<P>
<HR SIZE=1 NOSHADE>
<?php(做为现在的主流开发语言) echo "User: $php(做为现在的主流开发语言)_AUTH_USER"; ?>
</BODY>
</HTML>
--------------------------------------------------------------------------------
imapfuncs.phl
<?php(做为现在的主流开发语言) /* -*-C++-*- */
/* $Id: imapfuncs.phl,v 1.4 1999/04/14 12:12:32 borud Exp $ */
/* configurable parameters */
$M_HOST = "localhost";
$M_MAILSERVER = "transit.fast.no";
$M_COLOR_ODD = "#CCCCCC";
$M_COLOR_EVEN = "#EEEEEE";
$M_COLOR_HEAD = "#AAAAFF";
$M_COLOR_BG = "#FFFFFF";
/* globals */
$M_PORT = 143;
$M_SERVICE = "imap";
$M_SYSNAME = "Simple php(做为现在的主流开发语言)3 IMAP Inte易做图ce 1.0";
$M_MBOX = "{$M_HOST:$M_PORT/$M_SERVICE}";
$M_REALM = "IMAP Inte易做图ce";
$MBOX = false;
/* functions */
function m_login ($mailbox = )
{
global $MBOX, $M_REALM;
global $php(做为现在的主流开发语言)_AUTH_USER, $php(做为现在的主流开发语言)_AUTH_PW;
if ($MBOX) {
return true;
}
if (! $php(做为现在的主流开发语言)_AUTH_USER) {
m_reject($M_REALM);
}
$MBOX = @imap_open(m_mailbox_name($mailbox), $php(做为现在的主流开发语言)_AUTH_USER, $php(做为现在的主流开发语言)_AUTH_PW);
if (! $MBOX) {
m_reject($M_REALM);
}
return true;
}
function m_list($mailbox = )
{
global $MBOX, $php(做为现在的主流开发语言)_SELF;
global $M_COLOR_ODD, $M_COLOR_EVEN, $M_COLOR_HEAD, $M_COLOR_BG;
/* if not logged into server, do so */
if (! $MBOX) {
if (! m_login($mailbox)) {
return false;
}
}
$num = imap_num_msg($MBOX);
echo "<FORM ACTION=$php(做为现在的主流开发语言)_SELF TYPE=POST> ";
echo "<CENTER><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=1 WIDTH=90%> ";
echo "<TR ALIGN=LEFT BGCOLOR=$M_COLOR_HEAD>";
echo "<TH> </TH><TH>From</TH><TH>Subject</TH><TH>Date</TH>";
echo "</TR> ";
for ($i=1; $i < ($num+1); $i++) {
$head = imap_header($MBOX, $i, 50, 50, 0);
$from = $head->fetchfrom;
$subj = $head->fetchsubject;
$date = m_date_format($head->date);
$bgcolor = ($i%2 == 0)?$M_COLOR_ODD:$M_COLOR_EVEN;
echo "<TR BGCOLOR="$bgcolor"> ";
echo " <TD><INPUT TYPE=CHECKBOX NAME=marked[] VALUE=$i></TD> ";
补充:Web开发 , php ,