php web 简单的系统,一个简单的Webmail系统_PHP
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相关推荐
- Web Service入门简介(一个简单的WebService示例)
一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intrane ...
- Java Web创建并运行一个简单的网页
@创建并运行一个简单的网页TOC 在使用eclipse创建运行一个web项目前,需安装和配置好Tomcat和jre. 1.新建一个项目 2.选择过滤器文本Dynamic Web Project 3.输 ...
- java实现web服务器_Java 实现一个简单的web服务器
在日常的开发中,我们用过很多开源的web服务器,例如tomcat.apache等等.现在我们自己实现一个简单的web服务器,基本的功能就是用户点击要访问的资源,服务器将资源发送到客户端的浏览器.web ...
- 做一个简单网页(做一个简单网页多少钱)
怎样做一个简易的网页?做一个简单网页多少钱 做一个简易的普通网页比较容易.当然,制作的方法有好几种,有的是直接写代码.有的是用绘图软件绘制页面再导出网页.常用的是使用网页制作软件做网页.下面以普通静态 ...
- java开发简单解释器,实现一个简单的解释器(5)
你如何处理和了解像创建解释器或编译器这样复杂的事情?在开始时,一切看上去都像是一团乱七八糟的纱线,你需要解开缠结才能得到完美的球. 到达那里的方法是将它解开一个线,一次解开一个结.不过有时候,你可能会 ...
- 一个客户端多服务器系统,一个客户端多服务器系统吗
一个客户端多服务器系统吗 内容精选 换一换 业界对备份一致性的定义包括如下三类:不一致备份:备份的文件.磁盘不在同一个时间点.崩溃一致性备份:崩溃一致性备份会捕获备份时磁盘上已存在的数据,文件/磁盘数 ...
- java web容器_java-实现一个简单的java Web容器
技术栈 java.net.Socket java.net.ServerSocket 执行流程 创建一个ServerSocket对象: 调用ServerSocket对象的accept方法,等待连接,连接 ...
- 微服务设计简单实践---从一个简单需求学习微服务思想
从一个案例来看,如何在做架构设计时利用微服务的思想来帮我们解决问题. 背景介绍 公司对产品服务的管理目前还停留在物理机的那种理念,虽然阿里云.AWS.腾讯云.OpenStack等云平台用的不亦乐乎,但 ...
- 留言板asp mysql_ASP简单入门(制作一个简单的留言板 )
语句 -- %> <2>定义变量dim语句 dim a,b a=10 b="ok!" %> 注意:定义的变量可以是数值型,也可以是字符或者其他类型的 < ...
最新文章
- 一份完整的数据科学竞赛指南!
- NYOJ(21),BFS,三个水杯
- 一种绕开反病毒引擎的方法
- storm java开发环境搭建,看这里!Storm【单机版】环境搭建
- requests 获取div_爬虫系列第五篇 使用requests与BeautifulSoup爬取豆瓣图书Top250
- 二级指针、数组指针、二维数组、指针数组作为函数形参时可传入的实参
- 重构—改善既有代码的设计4——构筑测试体系
- QQ输入法用户体验评价
- vfp公交车调度系统
- 使用91地图助手转换坐标系,以大地2000转经纬度为例
- 用Everspin MR2xH40xDF SPI-MRAM替换赛普拉斯CY15B104QN SPI-FRAM
- 使用面向对象方法实现猜拳游戏(Java)
- 重磅!交叉学科将成我国第14个学科门类
- 基于微博平台的python爬虫数据采集
- 2018年Sketch UI界面设计套件前十了解下!
- 娃娃机共享扫码平台开发
- iOS开发接入腾讯云通信简略笔记
- RTX Excption integer divided by zero at loc (proc= thread=)Process image has been *unloaded
- 5个优质开玩笑代码脚本
- Leetcode练习 2.双指针
热门文章
- python在windows command下打印中文出错 IOError [Errno 22] Invalid argument
- 2022.05.18-使用Lightroom批量将图像从Raw转换为jpg
- 盘点国内外十大免费CDN网站加速服务
- vivox50支持鸿蒙,vivoX50pro—好马配好鞍,强大的微云台相机
- halcon双目搭建生成3d点云模型
- rabbitMQ guest账号登录总是提示失败
- 网页打开新窗口——Window.open()详解
- 毕业论文的前言写什么?
- 初学者用Eclipse和IDEA哪个好用一点?
- 《2022元宇宙黑客松》ThreeX专场