分享php邮件管理器源码


Posted in PHP onJanuary 06, 2016

本文为大家提供了php邮件管理器源码,希望大家喜欢。
1、需求分析
管理员应该能够建立和修改邮件内容。
管理员应该能够将文本或HTML格式的新闻信件发送给一个列表中的所有订阅者。
用户应该能够通过注册使用一个站点,并且可以进入并修改他们的个人资料。
用户应该能够订阅该站点的任意一个列表的新闻信件。
用户应该能够取消一个邮件列表的订阅。
用户应该能够根据个人喜好以HTML格式或纯文本格式存储新闻信件。
处于安全的原因,用户应该不能将邮件发送到列表,或者不能看见其他用户的邮件地址。
用户和管理员应该能够查看有关邮件列表的信息。
用户和管理员应该能够查看过去已经噶送给某个列表(存档文件)上的新闻信件。

2、解决方案
2.1 用户权限图

分享php邮件管理器源码

分享php邮件管理器源码

分享php邮件管理器源码

2.2 邮件列表管理器中的文件列表

分享php邮件管理器源码

2.3 邮件列表管理器中可能的操作

分享php邮件管理器源码

3、实现数据库

CREATE DATABASE mlm; #创建mlm数据库 
 
use mlm; #使用mlm数据库 
 
CREATE TABLE lists #列表 
( 
 listid INT AUTO_INCREMENT NOT NULL PRIMARY KEY, #列表ID 
 listname CHAR(20) NOT NULL, #列表名 
 blurb VARCHAR(255) #列表主要内容 
); 
 
CREATE TABLE subscribers #订阅者 
( 
 email CHAR(100) NOT NULL PRIMARY KEY, #邮箱 
 realname CHAR(100) NOT NULL, #真实姓名 
 mimetype CHAR(1) NOT NULL, #想要接收邮件类型 
 password CHAR(40) NOT NULL, #密码 
 admin TINYINT NOT NULL #管理员标记 
); 
 
CREATE TABLE sub_lists #订阅-列表关系表 
( 
 email CHAR(100) NOT NULL, #邮件 
 listid INT NOT NULL #列表ID 
); 
 
CREATE TABLE mail #邮件表 
( 
 mailid INT AUTO_INCREMENT NOT NULL PRIMARY KEY, #邮件ID 
 email CHAR(100) NOT NULL, #发送方 
 subject CHAR(100) NOT NULL, #主题 
 listid INT NOT NULL, #列表ID 
 status CHAR(10) NOT NULL, #邮件状态,是否被发送 
 sent DATETIME, #发送时间 
 modified TIMESTAMP #最后一次修改时间戳 
); 
 
CREATE TABLE images #图像表 
( 
 mailid INT NOT NULL, #邮件ID 
 path CHAR(100) NOT NULL, #路径 
 mimetype CHAR(100) NOT NULL #图片类型 
); 
 
GRANT SELECT,INSERT,UPDATE,DELETE #创建mlm用户 
ON mlm.* 
TO mlm@localhost IDENTIFIED BY 'password'; 
 
#插入订阅者标记 
INSERT INTO subscribers VALUES 
('admin@localhost','Administrative User','H',SHA1('admin'),1); 
 
INSERT INTO subscribers VALUES 
('Switch_1@switch.com','Administrative User','H',SHA1('admin'),1);

希望本文所述对大家学习php程序设计有所帮助。

PHP 相关文章推荐
提升PHP速度全攻略
Oct 09 PHP
pw的一个放后门的方法分析
Oct 08 PHP
php mysql 判断update之后是否更新了的方法
Jan 10 PHP
探讨PHP中this,self,parent的区别详解
Jun 08 PHP
一个严格的PHP Session会话超时时间设置方法
Jun 10 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
php自动更新版权信息显示的方法
Jun 19 PHP
PHP简单生成缩略图相册的方法
Jul 29 PHP
php判断是否连接上网络的方法实例详解
Dec 14 PHP
基于PHP-FPM进程池探秘
Oct 17 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 #PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 #PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 #PHP
Yii中表单用法实例详解
Jan 05 #PHP
php实现购物车功能(下)
Jan 05 #PHP
Yii中创建自己的Widget实例
Jan 05 #PHP
php实现购物车功能(上)
Jul 23 #PHP
You might like
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
坏狼的PHP学习教程之第1天
2008/06/15 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
整理一些最近经常遇到的前端面试题
2017/04/25 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
pycharm安装图文教程
2017/05/02 Python
详解Python中的四种队列
2018/05/21 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
python kafka 多线程消费者&手动提交实例
2019/12/21 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
写出二分查找算法的两种实现
2013/05/13 面试题
中专生求职自荐信范文
2013/12/22 职场文书
办公室前台岗位职责
2014/01/04 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
酒店服务员岗位职责
2015/02/09 职场文书