首页 >> 读书频道 >> 电脑 >> 一个简单的Webmail系统
 
· 在Netscape Se
· 用邮件来发送表单数据
· 基于Socket通讯技术
· php和xml-
· 网站当前在线人数的实现
· SERVER PUSH的
· 第6章 结构完整的XML
· 第5章 属性、空标记和X
· 第5章 属性、空标记和X
· 第5章 属性、空标记和X
· 模板,PHPLIB处理方
· 第5章 属性、空标记和X
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

一个简单的Webmail系统


查看有无更新版本

关键字:PHP 2006-9-17

 

这是一段Web Mail的示范代码,功能不是很强,但是结构还比较完整,主要的功能如查看文件夹,查看信件,回复,写信都有。但是程序中没有考虑附件解读和发送的问题。 (原文在 这里)。仅推荐给希望了解Webmail编程的网友做个参考。更加完善的Webmail请大家到 这里查找。
请注意:程序中使用了http认证功能,此功能需配合apache服务器使用。


--------------------------------------------------------------------------------
将以下代码分别存为 index.php3, imapfuncs.phl
配置imapfuncs.phl文件中的$M_HOST = "localhost"; $M_MAILSERVER = "transit.fast.no";
然后浏览 index.php3 即可.
--------------------------------------------------------------------------------
index.php3
















--------------------------------------------------------------------------------
imapfuncs.phl

\n";
echo " \n";

echo " ";
echo " FromSubjectDate";
echo "\n";

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 " \n";
echo " \n";
echo " $from";
echo " $subj";
echo " $date\n";
echo "\n";
}

if ($num <= 0) {
echo "
";
echo "No messages in mailbox";
echo "

\n";
}

echo " ";
echo "";
echo "";
echo "";
echo "\n";

echo "\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 " \n";
echo " Message #$msgno: $from / $subj\n";
echo " \n";
echo "From: $from\n";
echo "Subject: $subj\n";
echo "Date: $date\n";
echo "\n";
echo "$body\n";
echo "\n";
echo " ";

echo " ";
echo "\n";
echo "\n";
echo "\n";
echo "";
echo "";
echo " ";

echo "\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 " \n";
echo " To:";
echo " \n";

echo " Subject:";
echo " \n";

echo " ";
echo "$body\n";
echo "\n";

echo " ";
echo "";
echo "";
echo "";
echo "";

echo "\n";
echo "\n";
}


function m_send ($to, $subject, $body)
{
global $PHP_AUTH_USER, $M_MAILSERVER, $M_SYSNAME;

if ($PHP_AUTH_USER && $M_MAILSERVER && $to && $body) {

$headers = "From: $PHP_AUTH_USER@$M_MAILSERVER\n";
$headers .= "Reply-to: $PHP_AUTH_USER@$M_MAILSERVER\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "X-Mailer: $M_SYSNAME/" . phpversion() . "\n";

return mail($to, $subject, $body, $headers);
}

return false;
}



function m_date_format($datestr)
{

if (ereg("([[:digit:]]{1,2})[[:space:]]+([[:alpha:]]{3})[[:space:]]+([[:digit:]]{4})",
$datestr, $regs)) {
return $regs[0];
}

return $datestr;
}

function m_mailbox_name ($mbx)
{
global $M_MBOX;

/* no mailbox specified means we map it to the inbox */
if ($mbx == "") {
return $M_MBOX . "INBOX";
}

/* replace some special chars */
$mbx = ereg_replace("[^[:alnum:]]", "_", $mbx);

return $M_MBOX . $mbx;
}


function m_reject($dom)
{
Header("HTTP/1.0 401 Unauthorized");
Header("WWW-authenticate: basic realm=\"$dom\"");
echo "Access denied\n";
exit;
}



/* make sure there is NO trailing space here!!! */
?>

一个简单的Webmail系统

[ 1 ]
一个简单的Webmail系统 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑