你的应用用的是哪种登录?
在工作区打开 Auth 面板,或问 Agent:“这个应用用的是哪种认证?”
| 登录 | 谁发送邮件 | 用 Proxy Mail QA 测试 |
|---|---|---|
| Replit Auth:用户用 Replit 账号登录 | Replit,针对 Replit 账号。你的应用登录时不发送邮件 | 只有你的应用自己的邮件,如邀请 |
| Clerk Auth:你自己的账号,使用你的应用品牌 | Clerk:用户用邮箱和密码注册时发送验证码 | 是 |
| 你自己的:Supabase、Firebase,或通过 Resend 等发送邮件的代码 | 你的应用或它的认证服务 | 可以,每一封都行 |
无论用哪种登录,Google、GitHub、Apple 和 X 按钮登录都不发送邮件:请用你自己的账号测试。登录方式说明介绍了每个选项的作用。
Replit Auth
你的用户在 Replit 品牌的页面上用 Replit 账号登录,可使用 Google、GitHub、X、Apple 或邮箱。Replit 运行该页面并发送其邮件,如重置密码邮件,所以没有来自你应用的注册邮件需要测试。它适合内部工具和面向其他 Replit 用户的应用。如果是拥有独立账号的公开应用,请让 Agent 改用 Clerk Auth。
你仍然可以检查应用自己发送的邮件:邀请、通知,以及你通过邮件服务添加的任何邮件。
Clerk Auth
你的应用拥有独立于 Replit 的账号,支持邮箱和密码,以及 Google、GitHub、Apple 或 X。用邮箱注册的用户会收到 Clerk 发送的验证码。
- 先发布。开发和生产环境是分开的,用户也分开,所以要在已发布的应用上测试。
- 在 Proxy Mail QA 中创建地址,如果表单要求填写姓名,可以使用生成的身份。
- 用邮箱和密码注册,然后从该行复制验证码。
- 退出后重新登录,并试试应用提供的重置密码功能。
- 在该行保存密码,以便之后再以这个用户登录。
如果使用在 Replit 之外购买的自定义域名,请添加 Replit 在 Publishing → Domains → Manage 下列出的 DNS 记录(“Authentication DNS setup required”),让验证码从你的域名发出。生效最多可能需要 48 小时。使用 .replit.app 地址或通过 Replit 购买的域名的应用无需额外操作。
你自己的登录
如果你的应用使用 Supabase、Firebase 或自己的代码配合邮件服务,所有登录邮件都由它自己发送。构建期间,Replit 在连接到工作区的开发 URL 上运行你的应用;发布后,它会获得一个公开地址或你的自定义域名。登录邮件应始终链接到已发布的地址。
- 在 Proxy Mail QA 中创建一个地址。
- 在已发布的应用上注册,而不是在工作区预览中。
- 从该行打开验证码或链接。验证码有 Copy 按钮;链接有 Open link 和 Copy link 按钮。
- 检查链接指向哪里。如果指向
localhost或私有地址,我们会标记出来。如果指向开发 URL,说明已发布应用的基础 URL 没有设置。 - 用同样的方法测试重置密码和邀请,然后把账号密码保存在该行。
如果链接不对
向 Agent 提出具体要求:“已发布应用的邮件链接到了开发 URL。所有邮件链接的基础 URL 请使用已发布的域名,从环境变量读取。”如果你的应用使用 Supabase Auth,还要检查它的 Site URL 和 Redirect URLs:方法见这里。
如果邮件没有送达
- 检查应用的邮件服务商是否在已发布的应用上配置好,而不只是在工作区中。
- 查看服务商日志,看是否有发送记录和错误。
- 有些服务商会限制新账号或免费账号的发信数量,或在你完成设置前只向已验证的地址发信(沙盒或测试模式)。测试邮件没收到?列出了各自的解决方法。
可直接复制给 Agent 的提示词
List every email this app sends: sign-up confirmation, verification code, magic link, password reset, invite and email change. For each, tell me what triggers it, who sends it, which URL its link points to, and how long its link or code stays valid. Flag anything that uses localhost or the development URL.Emails from the published app must link to the published domain. Build every email link from an environment variable for the app's public URL, set it for the published app, and keep the development URL only for the workspace.