账号与安全
登录方式与账号来源
草丛 Mail 支持本地用户名密码和管理员启用的 OAuth 提供方。当前站点入口为 https://to9.us/app/,页面实际显示哪些登录方式由后台开关决定。
“普通账号”“NodeLoc 账号”“Google 账号”等表示首次注册来源。普通账号后来绑定 NodeLoc 后,注册来源仍是普通账号,同时单独展示已绑定身份和 NodeLoc 真实等级。详细规则见 NodeLoc 身份、等级与本站配额。
找回邮箱
找回邮箱用于接收注册验证码、密码重置码和地址变更安全提醒。注册时填写邮箱后,启用认证的站点会在验证码通过后才创建账号。
已经注册但没有找回邮箱的本地账号,可在“管理 → 账号设置 → 安全”中绑定:
- 填写新的找回邮箱。
- 输入当前密码;已启用 TOTP 时也可以改用当前六位验证码完成二次验证。
- 发送邮件验证码,并输入收到的六位码。
- 验证并保存后,检查界面显示“已验证”。
找回邮箱不能通过普通资料保存接口直接改写,必须完成邮件验证码。更换地址后,系统会尝试向原地址发送安全提醒。没有任何可用找回邮箱时,需要联系管理员核验身份后重置。
同一个已验证找回邮箱只能归一个用户。地址会去除首尾空格并按大小写无关方式比较,不能通过改变字母大小写重复绑定。
密码与会话
网页登录密码与邮件客户端密码分开:
- 网页登录使用账号密码。
- IMAP、POP3 和 SMTP Submission 使用对应邮箱生成的应用专用密码。
- API 调用使用个人 API Key,并限制作用域。
修改账号密码、完成密码找回、管理员重置密码、重置 2FA 或执行强制下线后,服务器会更新持久化令牌边界。已经签发的访问令牌和刷新令牌即使 Redis 重启也不能继续使用。
密码至少使用长度足够且不复用的组合。不要把同一个应用专用密码配置在多台设备;每个客户端单独创建,丢失或停用设备时只撤销对应密码。
两步验证
在“账号设置 → 安全”启用 TOTP:
- 用身份验证器扫描二维码或录入密钥。
- 输入当前六位验证码完成确认。
- 设置页只在启用过程中显示 TOTP 密钥;如需自助迁移设备,请把该密钥安全保存在密码管理器中。
- 退出账号并验证一次完整登录。
当前版本不签发一次性恢复码。更换手机前先迁移身份验证器;设备丢失且没有备份 TOTP 密钥时,只能由管理员核验身份后重置 2FA,重置会撤销现有登录会话。
OAuth 绑定
普通账号可以在账号设置中绑定 NodeLoc。绑定前必须验证当前密码或 TOTP;开启 Turnstile 的站点还需完成人机验证。一个外部身份只能绑定一个草丛 Mail 用户,同一用户不能把现有 NodeLoc 绑定替换成另一个身份。
重新授权当前绑定可刷新身份资料和等级,并且只能使用原来绑定的同一个身份。当前版本不提供第三方身份解绑,避免解绑后失去登录方式或被其他身份替换;确需处理归属时应联系管理员核验。
管理员代入登录
管理员可在用户管理中临时进入用户视角协助排障。页面应明确标识代入状态。代入会话不能执行密码修改、OAuth 绑定、找回邮箱绑定、TOTP 变更、应用专用密码或 API Key 等凭据操作。
如果发现自己处于管理员代入会话,请先退出代入状态,再处理任何安全设置。
安全记录
安全记录包含登录时间、来源 IP、认证方式和关键账号操作。发现未知记录时:
- 立即修改账号密码。
- 强制退出其他会话。
- 撤销可疑应用专用密码和 API Key。
- 检查 OAuth、Telegram 和找回邮箱绑定。
- 提交工单并附发生时间,勿附任何密钥。
凭据保护
- 不在聊天、工单或截图中展示密码、验证码、TOTP 密钥、应用专用密码、API Key 或 OAuth Secret。
- 完整 API Key 和应用专用密码只在创建时显示一次,应立即保存到密码管理器。
- 公共设备使用完毕后退出账号,不让浏览器保存凭据。
- 收到意外验证码时不要转发,先检查安全记录和账号绑定。