本模块提供基于PHP的邮箱6位验证码功能,支持注册、登录、忘记密码及已登录改密全流程。采用无框架设计,兼容PHP 5.6至8.x,支持SQLite与MySQL数据库切换,SMTP发信兼容465隐式SSL与587 STARTTLS。适用于B端/B2C系统降低对短信通道的依赖,满足基础安全与合规诉求。
本目录为无框架 PHP 示例(PHP 5.6 ~ 8.x),演示:
SS_ 用户名与随机密码)verify_type=change,邮箱只读数据支持 SQLite 与 MySQL:默认 SQLite(data/email_verify.sqlite);可在 db_settings.php 中切换并写入 data/db_runtime.json,或通过 config.php 中的 EV_DB_DRIVER 等常量配置。表结构见 database_update.sql。
SMTP 发信实现于 inc/ev_smtp.php:465 隐式 SSL(Gmail / QQ / 163 / 139 等)、587 STARTTLS + AUTH LOGIN(Outlook / Microsoft 365)。仅需在 config.php 中填写对应服务商参数,无需改代码即可切换邮箱。
程序版本号:常量 EV_APP_VERSION(默认在 inc/ev_version.php,可在 config.php 中 define 覆盖);首页页脚与 api_send_code.php / api_verify_code.php 的 JSON 响应中含 version 字段。
inc/ev_core.php,SMTP 集中在 inc/ev_smtp.php。db_settings.php 或 config.php),JSON API 统一返回 version。email-verify-code-login-php-cn-sample 置于 Web 可访问路径。config.example.php 为 config.php,按 email_smtp_各邮箱申请配置指南.md 填写 SMTP。index.php。发信失败时,请对照指南检查授权码 / 应用专用密码、端口与加密方式。
| 文件 | 作用 |
|---|---|
config.example.php |
配置模板(可选覆盖 EV_APP_VERSION) |
inc/ev_version.php |
程序版本号默认值(加载于 config.php 之后) |
inc/ev_core.php |
验证码逻辑、用户表、发信封装 |
inc/ev_db_config.php |
SQLite/MySQL 配置合并、db_runtime.json、连接测试与建表 |
db_settings.php |
页面切换数据库并写入 data/db_runtime.json |
inc/ev_smtp.php |
SMTP 发送(465 / 587) |
api_send_code.php |
POST:email、type(register/login/reset/change),返回 JSON |
api_verify_code.php |
可选预校验(不消费验证码) |
register.php |
注册双 Tab |
login_code.php |
验证码登录 |
login_pw.php |
密码登录 |
forgot.php |
忘记密码 |
change_password.php |
已登录验证码改密 |
database_update.sql |
MySQL 建表 |
email_smtp_各邮箱申请配置指南.md |
Gmail / Outlook / QQ / 163 / 139 等申请与配置 |
整合到业务系统时,可将 inc/ev_core.php 中的 PDO 连接改为 MySQL,并把 ev_users 替换为现有用户表字段映射。
Project: PHPDisk - 私有云存储解决方案
This is NOT a freeware, use is subject to license terms.
Website: https://www.phpdisk.com
Author: PHPDisk Team ( admin@phpdisk.com )
Copyright (C) 2008-2026 PHPDisk Team. All Rights Reserved.
如需定制功能,或查看更多示例与源码索引,请访问:https://code.phpdisk.com/?utm_source=email-verify-php-cn-readme
Comments
No comments yet—be the first!