open-saas 如何把邮件发送从 Dummy 提供方切换到 SendGrid 或 Mailgun 用于邮箱验证和密码重置

发布时间:2026/9/15 22:33:58
open-saas 如何把邮件发送从 Dummy 提供方切换到 SendGrid 或 Mailgun 用于邮箱验证和密码重置 open-saas 如何把邮件发送从 Dummy 提供方切换到 SendGrid 或 Mailgun 用于邮箱验证和密码重置【免费下载链接】open-saasA 100% free modern JS SaaS boilerplate (React, NodeJS, Prisma). Full-featured: Auth (email, google, github, slack, MS), Email sending, Background jobs, Landing page, Payments (Stripe, Polar.sh), Shadcn UI, S3 file upload. AI-ready with tailored AGENTS.md, skills, and Claude Code plugin. One cmd deploy. Powered by Wasp full-stack framework.项目地址: https://gitcode.com/GitHub_Trending/op/open-saasopen-saas 模板默认使用Dummy邮件提供方它不真正发送邮件而是把邮箱验证链接/令牌打印到服务端控制台方便本地开发时手动点击完成注册。这个限制在上线前必须解决——根据 邮件发送指南 和 认证指南使用Dummy提供方时应用无法执行生产构建只有切换到 SendGrid 或 Mailgun 这类生产就绪的提供方后邮箱验证和密码重置邮件才会真实发出。本文基于当前模板的实际代码结构给出这条切换路径和验证方式。Dummy 提供方在哪里、行为是什么当前模板中邮件配置独立在一个文件里emailSender.wasp.ts。export const emailSender: EmailSender { // NOTE: Dummy provider is just for local development purposes. // Make sure to check the server logs for the email confirmation url (it will not be sent to an address)! // Once you are ready for production, switch to e.g. SendGrid or Mailgun providers. provider: Dummy, defaultFrom: { name: Open SaaS App, // When using a real provider, e.g. SendGrid, you must use the same email address that you configured your account to send out emails with! email: meexample.com, }, };该对象由 main.wasp.ts 导入后挂在应用的emailSender字段上与指南中app.emailSender指的是同一份配置——只是当前模板Wasp 2 写法把它拆到了单独文件而不是指南示例里的main.wasp内联写法。认证侧的接线在 auth.wasp.tsemail是默认认证方式其emailVerification和passwordReset两项分别绑定了邮件内容函数const emailAuthMethod: NonNullableAuthMethods[email] { fromField: { name: Open SaaS App, email: meexample.com, }, emailVerification: { clientRoute: EmailVerificationRoute, getEmailContentFn: getVerificationEmailContent, }, passwordReset: { clientRoute: PasswordResetRoute, getEmailContentFn: getPasswordResetEmailContent, }, userSignupFields: getEmailUserFields, };两封邮件的实际内容由 emails.ts 生成验证邮件主题为Verify your email正文包含verificationLink重置邮件主题为Password reset正文包含passwordResetLink。点击后分别落到/email-verification和/password-reset路由。只要提供方配置正确Wasp 会自动让 AuthUI 组件使用真实的发信通道无需改动认证流程代码。切换到 SendGrid注册 SendGrid 账号在其控制台的 API Keys 设置页创建并复制你的 API key.env.server.example中的注释也指向同一入口。把 key 写入.env.server文件的SENDGRID_API_KEY变量。模板自带 .env.server.example 作为参照其中已包含该变量SENDGRID_API_KEY你的 SendGrid API key修改 emailSender.wasp.tsprovider改为SendGrid并把defaultFrom.email改成你 SendGrid 账号中配置的发信地址export const emailSender: EmailSender { provider: SendGrid, defaultFrom: { name: Open SaaS App, // Same email address you configured your SendGrid account to send emails with! email: youyourdomain.com, // 替换为你在 SendGrid 中配置的发信地址 }, };同步修改 auth.wasp.ts 中emailAuthMethod.fromField.email使用同一个发信地址。指南对此有明确警告使用 SendGrid 时from地址必须与你在 SendGrid 账号中配置的发信地址一致否则发信会失败。这是 SendGrid 与 Mailgun 两条路径共同的要求。切换到 Mailgun替代路径如果你的账号在 Mailgun 而不是 SendGrid流程类似只是多一个发信域名变量创建 Mailgun 账号在 API Keys 设置页创建新的 API key写入.env.server的MAILGUN_API_KEY。在 Mailgun 的 Domains 设置页创建并验证一个发信域名写入.env.server的MAILGUN_DOMAIN。emailSender.wasp.ts 中provider改为MailgundefaultFrom.email与 auth.wasp.ts 中fromField.email同样改成你的 Mailgun 发信地址。MAILGUN_API_KEY你的 Mailgun API key MAILGUN_DOMAIN你的 Mailgun 发信域名模板的.env.server.example目前只列出了SENDGRID_API_KEY示例Mailgun 的两个变量按指南要求直接加到.env.server即可。验证切换是否生效本地开发验证启动应用后用一个新邮箱注册。切换前Dummy收件箱不会收到任何邮件验证链接/令牌只会出现在服务端日志里需要手动从日志复制后打开完成验证——这是 认证指南 描述的行为。切换后SendGrid/Mailgun收件箱应收到主题为Verify your email的邮件点击链接进入邮箱验证页完成验证随后走一次忘记密码流程应收到主题为Password reset的邮件点击链接进入密码重置页完成重置。生产构建验证两份文档都明确 Dummy 提供方下应用无法构建因此切换到 SendGrid 或 Mailgun 后生产构建能够完成本身就是一项成功判定。限制与边界email认证方式依赖邮件提供方Dummy 仅用于本地开发不能用于生产。两处发件地址emailSender.defaultFrom.email与emailAuthMethod.fromField.email都要与提供方账号中配置的发信地址保持一致指南和源码注释均强调了这一点。指南末尾提示如需了解其他提供方如 SMTP的细节可查阅 Wasp 官方的邮件文档指南原文给出了对应链接。【免费下载链接】open-saasA 100% free modern JS SaaS boilerplate (React, NodeJS, Prisma). Full-featured: Auth (email, google, github, slack, MS), Email sending, Background jobs, Landing page, Payments (Stripe, Polar.sh), Shadcn UI, S3 file upload. AI-ready with tailored AGENTS.md, skills, and Claude Code plugin. One cmd deploy. Powered by Wasp full-stack framework.项目地址: https://gitcode.com/GitHub_Trending/op/open-saas创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询