logo
0
0
WeChat Login

华东理工大学通知订阅系统

这是一个基于PHP的邮件订阅系统,允许用户订阅华东理工大学的通知,并通过邮件验证确保邮箱地址的真实性。

功能特性

  • ✅ 用户邮箱订阅
  • ✅ 邮箱验证(通过SMTP发送验证邮件)
  • ✅ 取消订阅功能
  • ✅ 重发验证邮件功能
  • ✅ 管理员后台查看订阅列表
  • ✅ 响应式设计,支持移动端
  • ✅ 邮件列表保存在JSON文件中
  • 频率限制防护(防止恶意滥用)

文件结构

├── index.html # 主页面(订阅/取消订阅表单) ├── style.css # 样式文件 ├── script.js # 前端JavaScript ├── config.php # 配置文件(SMTP设置等) ├── email_helper.php # 邮件发送辅助类 ├── subscribe.php # 处理订阅请求 ├── verify.php # 处理邮箱验证 ├── unsubscribe.php # 处理取消订阅 ├── admin.php # 管理员后台 ├── emails.json # 邮件列表存储文件 └── README.md # 说明文档

安装配置

1. 环境要求

  • PHP 7.0 或更高版本
  • Web服务器(Apache/Nginx)
  • 支持发送邮件的SMTP服务器

2. 配置SMTP

编辑 config.php 文件,修改以下配置:

// SMTP配置 define('SMTP_HOST', 'smtp.gmail.com'); // 您的SMTP服务器 define('SMTP_PORT', 587); define('SMTP_USERNAME', 'your-email@gmail.com'); // 您的邮箱 define('SMTP_PASSWORD', 'your-app-password'); // 您的应用密码 define('SMTP_FROM_EMAIL', 'your-email@gmail.com'); // 发件人邮箱 define('SMTP_FROM_NAME', '华东理工大学通知中心'); // 网站配置 define('SITE_URL', 'http://your-domain.com'); // 您的网站URL

3. 权限设置

确保 emails.json 文件具有读写权限:

chmod 666 emails.json

4. 管理员密码

编辑 config.php 文件,修改管理员密码:

// 管理员密码配置 define('ADMIN_PASSWORD', 'your-secure-password'); // 管理员后台密码

所有管理员相关的密码现在都统一在 config.php 文件中管理,包括:

  • 管理员后台登录密码
  • 邮件测试页面密码
  • 频率限制状态查看密码

使用说明

用户端

  1. 访问 index.html 页面
  2. 在订阅表单中输入邮箱地址
  3. 点击"订阅"按钮
  4. 检查邮箱,点击验证链接完成订阅
  5. 如需取消订阅,在取消订阅表单中输入邮箱地址

管理员端

  1. 访问 admin.php 页面
  2. 输入管理员密码登录
  3. 查看订阅统计和详细列表
  4. 可以看到每个邮箱的验证状态和时间

SMTP服务器配置示例

Gmail SMTP

define('SMTP_HOST', 'smtp.gmail.com'); define('SMTP_PORT', 587); define('SMTP_USERNAME', 'your-gmail@gmail.com'); define('SMTP_PASSWORD', 'your-app-password'); // 需要开启两步验证并生成应用密码

QQ邮箱 SMTP

define('SMTP_HOST', 'smtp.qq.com'); define('SMTP_PORT', 587); define('SMTP_USERNAME', 'your-qq@qq.com'); define('SMTP_PASSWORD', 'your-authorization-code'); // QQ邮箱授权码

163邮箱 SMTP

define('SMTP_HOST', 'smtp.163.com'); define('SMTP_PORT', 25); define('SMTP_USERNAME', 'your-email@163.com'); define('SMTP_PASSWORD', 'your-authorization-code'); // 163邮箱授权码

安全注意事项

  1. 修改默认密码:请务必修改 admin.php 中的默认管理员密码
  2. HTTPS部署:建议在生产环境中使用HTTPS
  3. 文件权限:确保配置文件不能被直接访问
  4. 输入验证:系统已包含基本的输入验证,但建议根据需要加强
  5. 邮件频率限制:可以考虑添加邮件发送频率限制防止滥用

扩展功能

系统设计为可扩展的,您可以轻松添加以下功能:

  • 用户分组管理
  • 邮件模板自定义
  • 发送统计
  • 批量邮件发送
  • 用户偏好设置
  • API接口

故障排除

邮件发送失败

  1. 检查SMTP配置是否正确
  2. 确认邮箱服务商是否开启了SMTP服务
  3. 检查防火墙是否阻止了SMTP端口
  4. 查看服务器错误日志

验证链接无效

  1. 检查网站URL配置是否正确
  2. 确认邮件中的链接格式是否正确
  3. 检查token是否正确生成和存储

技术支持

如有问题,请检查:

  1. PHP错误日志
  2. Web服务器错误日志
  3. 邮件服务器连接状态
  4. 文件权限设置

许可证

本项目仅供学习和内部使用。

About

ecustnews-subscribe

Language
PHP94.9%
CSS1.8%
Markdown1.6%
HTML0.9%
Others0.8%