分享php邮件管理器源码

5年以前  |  阅读数:775 次  |  编程语言:PHP 

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

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

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

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

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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例