分享php邮件管理器源码

前端之家收集整理的这篇文章主要介绍了分享php邮件管理器源码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文为大家提供了PHP邮件管理器源码,希望大家喜欢。

1、需求分析

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

2、解决方

2.1 用户权限图

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

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

3、实现数据库

sql;"> 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',1);

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

猜你在找的PHP相关文章