注册与邮件
当前注册策略
当前采用 复旦学邮人工审核 + 邀请码 + 邮箱验证码:
- 申请人用本人复旦学邮发送注册申请到
ynumerics_admin@163.com; - 邮件正文至少包含姓名、预计毕业时间;
- 管理员审核后,在 Sub2API 后台生成邀请码并回复原邮件;
- 申请人使用同一学邮、邮箱验证码和邀请码完成注册;
- 注册完成后,管理员按成员策略分配默认订阅。
成员侧公开说明见:账号注册。
注册开关
系统设置中的建议值:
| 设置 | 当前建议 | 说明 |
|---|---|---|
| 开放注册 | 开启 | 用户需要自行进入注册页面 |
| 邮箱验证 | 开启 | 注册时必须验证学邮 |
| 邮箱域名白名单 | *.fudan.edu.cn |
仅允许复旦大学域名及其子域名邮箱 |
| 非白名单域名限量注册 | 关闭 | 当前不接受非白名单邮箱注册 |
| 优惠码 | 关闭 | 当前注册流程不使用优惠码 |
| 邀请码注册 | 开启 | 管理员审核后人工发放邀请码 |
还应开启人机验证
邮箱白名单和邀请码用于控制谁能完成注册,但不应当作为验证码发送接口的抗滥用措施。生产环境建议同时启用 Sub2API 的人机验证功能,并保持反向代理真实 IP 配置正确,避免验证码接口被批量调用。
管理员注册邮箱
当前专用邮箱:
ynumerics_admin@163.com
用途:
- 接收成员的注册申请;
- 人工回复邀请码;
- 作为 YNumerics API 的 SMTP 发件邮箱,自动发送邮箱验证码等事务邮件。
不要在公开文档中记录该邮箱的登录密码、SMTP 客户端授权码、恢复信息或二次验证凭据。
163 SMTP 配置
先登录 ynumerics_admin@163.com 的网易邮箱网页端,在邮箱设置中开启 SMTP/客户端服务并生成客户端授权码/授权密码。后台的“SMTP 密码”应填写这个客户端授权码,不要填写网页邮箱登录密码。
然后进入 Sub2API:系统设置 → 邮件,填写:
| 字段 | 当前值 |
|---|---|
| SMTP 主机 | smtp.163.com |
| SMTP 端口 | 465 |
| SMTP 用户名 | ynumerics_admin@163.com |
| SMTP 密码 | 163 邮箱客户端授权码(绝不写入文档) |
| 发件人邮箱 | ynumerics_admin@163.com |
| 发件人名称 | YNumerics API |
| 使用 TLS | 开启 |
从 QQ SMTP 切换到 163 时不要把密码留空
后台提示“密码已配置,留空以保留当前值”。如果原先保存的是 QQ 邮箱 SMTP 授权码,仅修改主机和用户名、却把密码框留空,就会继续保留旧 QQ 授权码,163 SMTP 鉴权会失败。切换本次配置时必须重新填写 163 的客户端授权码并保存。
当前生产版本使用 TLS 开启时会按隐式 TLS(465 语义)连接;因此 smtp.163.com:465 + TLS 开启 与当前配置匹配。
配置后如何让验证码自动发送
不需要另外写脚本。 SMTP 配好后,Sub2API 已自带注册验证码生成、缓存、校验和发信流程。
按以下顺序验收:
- 保存 SMTP 设置;
- 点击后台的 测试连接;
- 使用 发送测试邮件,先发到一个实际可收信的复旦学邮;
- 确认发件人显示为
YNumerics API <ynumerics_admin@163.com>; - 打开无痕窗口进入 YNumerics API 注册页;
- 输入测试学邮并点击发送验证码;
- 确认学邮收到自动验证码;
- 输入验证码和测试邀请码,完整走通一次注册;
- 删除测试账号 / 测试邀请码,或按实际成员流程继续配置订阅。
当前平台验证码是 6 位数字,有效期 15 分钟,同一邮箱重新发送存在 1 分钟冷却。
邀请码发放流程
收到学邮申请后:
- 检查发件人确实使用复旦学邮;
- 检查邮件包含姓名和预计毕业时间;
- 在管理员后台进入 兑换码;
- 新建类型为 邀请码 的兑换码;
- 每位申请人单独生成并记录对应邀请码;
- 直接回复申请人的原邮件,把邀请码发给本人;
- 注册完成后再按 用户、订阅与额度 分配默认学生订阅。
建议管理员回复模板:
你好,注册申请已审核通过。
YNumerics API 注册邀请码:<邀请码>
请使用本次来信的复旦学邮在 https://api.ynumerics.top 注册,
注册时同时完成邮箱验证码验证并填写上述邀请码。
请勿转发邀请码。
服务器网络测试
如果后台测试连接失败,先从服务器确认 465 端口和 TLS 握手:
日志排障
cd /opt/sub2api
sudo docker compose logs --since=10m sub2api \
| grep -iE 'smtp|mail|email|verify|tls|auth|captcha|error'
常见情况:
| 现象 | 优先检查 |
|---|---|
| 测试连接失败 | smtp.163.com:465 网络、TLS 开关 |
| 连接成功但鉴权失败 | SMTP 用户名是否完整、是否误用了网页登录密码、是否仍保留旧 QQ 授权码 |
| 测试邮件成功但注册验证码不发 | 开放注册、邮箱验证、人机验证、邮箱白名单、Sub2API 日志 |
| 学邮收不到但后台显示已发送 | 垃圾邮件目录、学校邮箱过滤策略、163 发件箱 / 退信 |
| 验证码可以收到但无法注册 | 邀请码是否有效、注册邮箱是否符合 *.fudan.edu.cn |