| 贵 州 学 习 网 |
|
这是一段web mail的示范代码,功能不是很强,但是结构还比较完整,主要的功能如查看文件夹,查看信件,回复,写信都有。但是程序中没有考虑附件解读和发送的问题。 (原文在 这里)。仅推荐给希望了解webmail编程的网友做个参考。更加完善的webmail请大家到 这里查找。 请注意:程序中使用了http认证功能,此功能需配合Apache服务器使用。 -------------------------------------------------------------------------------- 将以下代码分别存为 index.php3, imapfuncs.phl 配置imapfuncs.phl文件中的$m_host = "localhost"; $m_mailserver = "transit.fast.no"; 然后浏览 index.php3 即可. -------------------------------------------------------------------------------- index.php3 /* $id: index.php3,v 1.3 1999/04/14 12:12:32 borud exp $ */ /* load the imap library functions we\’ve written */ include("imapfuncs.phl"); m_login($m); ?> -------------------------------------------------------------------------------- imapfuncs.phl /* $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 php3 imap interface 1.0"; $m_mbox = "{$m_host:$m_port/$m_service}"; $m_realm = "imap interface"; $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 "\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 " echo "
echo " 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 " echo " |