分享php郵件管理器源碼
本文為大家提供了php郵件管理器源碼,希望大家喜歡。
1、需求分析
管理員應(yīng)該能夠建立和修改郵件內(nèi)容。
管理員應(yīng)該能夠?qū)⑽谋净騂TML格式的新聞信件發(fā)送給一個列表中的所有訂閱者。
用戶應(yīng)該能夠通過注冊使用一個站點,并且可以進入并修改他們的個人資料。
用戶應(yīng)該能夠訂閱該站點的任意一個列表的新聞信件。
用戶應(yīng)該能夠取消一個郵件列表的訂閱。
用戶應(yīng)該能夠根據(jù)個人喜好以HTML格式或純文本格式存儲新聞信件。
處于安全的原因,用戶應(yīng)該不能將郵件發(fā)送到列表,或者不能看見其他用戶的郵件地址。
用戶和管理員應(yīng)該能夠查看有關(guān)郵件列表的信息。
用戶和管理員應(yīng)該能夠查看過去已經(jīng)噶送給某個列表(存檔文件)上的新聞信件。
2、解決方案
2.1 用戶權(quán)限圖



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

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

3、實現(xiàn)數(shù)據(jù)庫
CREATE DATABASE mlm; #創(chuàng)建mlm數(shù)據(jù)庫
use mlm; #使用mlm數(shù)據(jù)庫
CREATE TABLE lists #列表
(
listid INT AUTO_INCREMENT NOT NULL PRIMARY KEY, #列表ID
listname CHAR(20) NOT NULL, #列表名
blurb VARCHAR(255) #列表主要內(nèi)容
);
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 #訂閱-列表關(guān)系表
(
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, #發(fā)送方
subject CHAR(100) NOT NULL, #主題
listid INT NOT NULL, #列表ID
status CHAR(10) NOT NULL, #郵件狀態(tài),是否被發(fā)送
sent DATETIME, #發(fā)送時間
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 #創(chuàng)建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程序設(shè)計有所幫助。
相關(guān)文章
php中通過DirectoryIterator刪除整個目錄的方法
這篇文章主要介紹了php中通過DirectoryIterator刪除整個目錄的方法,實例分析了php通過DirectoryIterator類操作目錄的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
PHP圖片處理之使用imagecopy函數(shù)添加圖片水印實例
這篇文章主要介紹了PHP圖片處理之使用imagecopy函數(shù)添加圖片水印實例,本文給出了一個簡單的入門級的自定義函數(shù)示例,需要的朋友可以參考下2014-11-11

