WebMail

sadly

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

请注意:程序中使用了http认证功能,此功能需配合apache服务器使用。

--------------------------------------------------------------------------------

将以下代码分别存为 index.php3, imapfuncs.phl

配置imapfuncs.phl文件中的$M_HOST = "localhost"; $M_MAILSERVER = "transit.fast.no";

然后浏览 index.php3 即可.

--------------------------------------------------------------------------------

index.php3

/* 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

/* $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 "\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 "\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!!! */

?>

--------------------------------------------------------------------------------

编辑整理:中国PHP自由联盟

[关闭窗口] - 2000-03-28 -

Copyright ? 2000 Chinese PHP Power All rights reserved.

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本站所有资源全部来源于网络,若本站发布的内容侵害到您的隐私或者利益,请联系我们删除!

合作方式

Copyright © 2004-2018 https://www.gxlcms.com/. All Rights Reserved.

豫ICP备19030742号

php web 简单的系统,一个简单的Webmail系统_PHP相关推荐

  1. Web Service入门简介(一个简单的WebService示例)

    一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intrane ...

  2. Java Web创建并运行一个简单的网页

    @创建并运行一个简单的网页TOC 在使用eclipse创建运行一个web项目前,需安装和配置好Tomcat和jre. 1.新建一个项目 2.选择过滤器文本Dynamic Web Project 3.输 ...

  3. java实现web服务器_Java 实现一个简单的web服务器

    在日常的开发中,我们用过很多开源的web服务器,例如tomcat.apache等等.现在我们自己实现一个简单的web服务器,基本的功能就是用户点击要访问的资源,服务器将资源发送到客户端的浏览器.web ...

  4. 做一个简单网页(做一个简单网页多少钱)

    怎样做一个简易的网页?做一个简单网页多少钱 做一个简易的普通网页比较容易.当然,制作的方法有好几种,有的是直接写代码.有的是用绘图软件绘制页面再导出网页.常用的是使用网页制作软件做网页.下面以普通静态 ...

  5. java开发简单解释器,实现一个简单的解释器(5)

    你如何处理和了解像创建解释器或编译器这样复杂的事情?在开始时,一切看上去都像是一团乱七八糟的纱线,你需要解开缠结才能得到完美的球. 到达那里的方法是将它解开一个线,一次解开一个结.不过有时候,你可能会 ...

  6. 一个客户端多服务器系统,一个客户端多服务器系统吗

    一个客户端多服务器系统吗 内容精选 换一换 业界对备份一致性的定义包括如下三类:不一致备份:备份的文件.磁盘不在同一个时间点.崩溃一致性备份:崩溃一致性备份会捕获备份时磁盘上已存在的数据,文件/磁盘数 ...

  7. java web容器_java-实现一个简单的java Web容器

    技术栈 java.net.Socket java.net.ServerSocket 执行流程 创建一个ServerSocket对象: 调用ServerSocket对象的accept方法,等待连接,连接 ...

  8. 微服务设计简单实践---从一个简单需求学习微服务思想

    从一个案例来看,如何在做架构设计时利用微服务的思想来帮我们解决问题. 背景介绍 公司对产品服务的管理目前还停留在物理机的那种理念,虽然阿里云.AWS.腾讯云.OpenStack等云平台用的不亦乐乎,但 ...

  9. 留言板asp mysql_ASP简单入门(制作一个简单的留言板 )

    语句 -- %> <2>定义变量dim语句 dim a,b a=10 b="ok!" %> 注意:定义的变量可以是数值型,也可以是字符或者其他类型的 < ...

最新文章

  1. 一份完整的数据科学竞赛指南!
  2. NYOJ(21),BFS,三个水杯
  3. 一种绕开反病毒引擎的方法
  4. storm java开发环境搭建,看这里!Storm【单机版】环境搭建
  5. requests 获取div_爬虫系列第五篇 使用requests与BeautifulSoup爬取豆瓣图书Top250
  6. 二级指针、数组指针、二维数组、指针数组作为函数形参时可传入的实参
  7. 重构—改善既有代码的设计4——构筑测试体系
  8. QQ输入法用户体验评价
  9. vfp公交车调度系统
  10. 使用91地图助手转换坐标系,以大地2000转经纬度为例
  11. 用Everspin MR2xH40xDF SPI-MRAM替换赛普拉斯CY15B104QN SPI-FRAM
  12. 使用面向对象方法实现猜拳游戏(Java)
  13. 重磅!交叉学科将成我国第14个学科门类
  14. 基于微博平台的python爬虫数据采集
  15. 2018年Sketch UI界面设计套件前十了解下!
  16. 娃娃机共享扫码平台开发
  17. iOS开发接入腾讯云通信简略笔记
  18. RTX Excption integer divided by zero at loc (proc= thread=)Process image has been *unloaded
  19. 5个优质开玩笑代码脚本
  20. Leetcode练习 2.双指针

热门文章

  1. python在windows command下打印中文出错 IOError [Errno 22] Invalid argument
  2. 2022.05.18-使用Lightroom批量将图像从Raw转换为jpg
  3. 盘点国内外十大免费CDN网站加速服务
  4. vivox50支持鸿蒙,vivoX50pro—好马配好鞍,强大的微云台相机
  5. halcon双目搭建生成3d点云模型
  6. rabbitMQ guest账号登录总是提示失败
  7. 网页打开新窗口——Window.open()详解
  8. 毕业论文的前言写什么?
  9. 初学者用Eclipse和IDEA哪个好用一点?
  10. 《2022元宇宙黑客松》ThreeX专场