이 기사는 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 프로그래밍을 배우는 모든 사람에게 도움이 되기를 바랍니다.