这是一段Web Mail的示范代码,功能不是很强,但是结构还比较完整,主要的功能如查看文件夹,查看信件,回复,写信都有。但是程序中没有考虑附件解读和发送的问题。 (原文在 这里)。仅推荐给希望了解Webmail编程的网友做个参考。更加完善的Webmail请大家到 这里查找。
请注意:程序中使用了http认证功能,此功能需配合apache服务器使用。
--------------------------------------------------------------------------------
将以下代码分别存为 index.php3, imapfuncs.phl
配置imapfuncs.phl文件中的$M_HOST = "localhost"; $M_MAILSERVER = "transit.fast.no";
然后浏览 index.php3 即可.
--------------------------------------------------------------------------------
index.php3
<?PHP
/ $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);
?>
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);
}
?>
--------------------------------------------------------------------------------
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 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 "
Message #$msgno: $from / $subj |
---|
\n"; |
";
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 "
To: | ";<INPUT TYPE=TEXT NAME=to value=\"$to\" SIZE=50> |
Subject: | ";<INPUT TYPE=TEXT NAME=subject value=\"$subject\" SIZE=50> |
"; echo ""; 相关文章:
PHP
·
发表于 6年以前
·
阅读量:8511
Shell
·
发表于 6年以前
·
阅读量:3450
JAVA
·
发表于 6年以前
·
阅读量:3102
JAVA
·
发表于 6年以前
·
阅读量:3097
JAVA
·
发表于 5年以前
·
阅读量:2930
JAVA
·
发表于 5年以前
·
阅读量:2922
JavaScript
·
发表于 4年以前
·
阅读量:2921
JAVA
·
发表于 6年以前
·
阅读量:2921
Shell
·
发表于 1年以前
·
阅读量:2899
PHP
·
发表于 6年以前
·
阅读量:2866
JAVA
·
发表于 6年以前
·
阅读量:2847
Python
·
发表于 4年以前
·
阅读量:2769
Python
·
发表于 4年以前
·
阅读量:2758
PHP
·
发表于 6年以前
·
阅读量:2595
Shell
·
发表于 6年以前
·
阅读量:2591
PHP
·
发表于 6年以前
·
阅读量:2527
PHP
·
发表于 6年以前
·
阅读量:2506
JAVA
·
发表于 6年以前
·
阅读量:2498
Python
·
发表于 6年以前
·
阅读量:2477
PHP
·
发表于 6年以前
·
阅读量:2466
最新文章
获取php时间戳
4年以前
·
793 次阅读
php获取tempfile路径
4年以前
·
967 次阅读
php 1,1,2,3,5,8,13,21,34...求第30位的数是多少?
4年以前
·
962 次阅读
PHP执行shell
5年以前
·
947 次阅读
PHP获取HTTP body内容
5年以前
·
1250 次阅读
php读取目录下的所有文件
5年以前
·
1055 次阅读
php判断是爬虫在访问还是用户浏览器在访问
5年以前
·
983 次阅读
PHP通过UserAgent识别爬虫
5年以前
·
1077 次阅读
PHP使用curl发起post请求
5年以前
·
1071 次阅读
PHP版HelloWorld
5年以前
·
902 次阅读
最受欢迎文章
PHP分页显示制作详细讲解
6年以前
·
8511 次阅读
PHP自定义函数获取搜索引擎来源关键字的方法
6年以前
·
2866 次阅读
在Zeus Web Server中安装PHP语言支持
6年以前
·
2595 次阅读
Yii2汉字转拼音类的实例代码
6年以前
·
2527 次阅读
再谈PHP中单双引号的区别详解
6年以前
·
2506 次阅读
php封装的page分页类完整实例
6年以前
·
2466 次阅读
PHP命名空间namespace用法实例分析
6年以前
·
2407 次阅读
php+ajax+json 详解及实例代码
6年以前
·
2353 次阅读
PHP设计模式之工厂模式与单例模式
6年以前
·
2337 次阅读
php数组合并array_merge()函数使用注意事项
6年以前
·
2334 次阅读
|