本文為大家提供了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 ('[email protected]','Administrative User','H',SHA1('admin'),1);
希望本文所述對大家學習php程序設計有所幫助。