跳到主要内容

邮件连接器

邮件连接器将你的邮件发送服务与 Logto 集成,以通过电子邮件实现安全的用户验证。一旦配置完成,你可以发送用于用户注册登录密码重置账户关联成员邀请高风险操作验证一次性密码 (OTPs)

选择你的邮件连接器

Logto 提供三种类型的邮件连接器选项:

免费 Logto 邮件服务(仅限 Cloud)

这种内置的邮件服务选项非常适合快速开始进行测试生产。它消除了对第三方集成的需求,并提供免费、可靠的邮件发送服务。只需为预设计的电子邮件模板自定义基本品牌。

Logto 邮件服务连接器现在提供品牌定制功能,包括徽标、公司信息和发件人名称。

然而,尽管方便,但需要注意一些限制——你无法自定义发件人的电子邮件地址、域名或特定的电子邮件内容。

使用 Logto 的分步指南连接到你首选的邮件服务提供商 (ESP)。

这些选项允许你完全自定义你的电子邮件模板、发件人名称、添加变量等,以最佳服务于你的品牌。

我们为以下邮件服务提供商提供开箱即用的支持:

自定义你的邮件连接器

如果上述解决方案都不符合你的需求,你还可以选择使用简单邮件传输协议 (SMTP) 连接到你想要的邮件服务。

如果你已经有自己的邮件服务并且不适合使用 SMTP 连接,我们还提供“HTTP 邮件连接器”。

当需要发送电子邮件时,它会向配置的 endpoint 发送一个 API 调用,以完成依赖于电子邮件的认证 (Authentication) 流程。请注意,为了防止认证 (Authentication) 流程错误,配置的 endpoint 在接收到 WebHook 后需要返回 200 响应,以通知 Logto 已收到发送电子邮件的通知。在这种情况下,你需要监控自己的邮件服务以确保成功发送。

如果我们的标准连接器不满足你的特定要求,请随时联系我们。对于 OSS 用户,如果需求紧急,你可以实现你的连接器 (OSS)。我们始终欢迎贡献;你的努力可能会帮助其他有相同需求的社区成员。

配置步骤

按照以下步骤添加邮件连接器:

  1. 导航到 控制台 > 连接器 > 邮件和短信连接器
  2. 要添加新的邮件连接器,点击“设置”按钮并选择你想要的邮件提供商。
  3. 查看 README 文档,并逐步为你选择的提供商进行配置。
  4. 点击“保存并完成”以完成。
备注:

为了确保关键电子邮件(如验证码)可靠地到达用户的收件箱并避免垃圾邮件过滤器,请关注两个优先事项:

  • 设置电子邮件认证 (SPF, DKIM, DMARC) 电子邮件提供商(Gmail、Outlook 等)使用这些协议来验证你不是垃圾邮件发送者。缺少这些设置可能会导致你的电子邮件进入垃圾邮件或被拒收。
    • SPF(发件人策略框架):列出允许为你的域发送电子邮件的服务器 / IP。
    • DKIM(域密钥识别邮件):添加数字签名以证明电子邮件未被篡改。
    • DMARC(基于域的消息认证):告诉接收者如何处理未通过 SPF / DKIM 的电子邮件。
  • 分离认证 (Authentication) 和营销邮件 营销邮件通常会触发垃圾邮件投诉或高退信率。如果认证 (Authentication) 邮件与营销邮件共享同一域 / IP,其可达性会受到影响。
    • 使用专用域:从 @auth.yourdomain.com 发送验证邮件,从 @marketing.yourdomain.com 发送营销邮件。
    • 专用 IP:为认证 (Authentication) 邮件请求一个唯一的 IP,并慢慢加热。
    • 匹配“发件人”地址:确保发件人域与 SPF / DKIM / DMARC 记录一致。

更改邮件连接器

你可能会注意到只能添加一个邮件连接器。

当你已经有一个邮件连接器时,你只能选择“更改邮件连接器”。在控制台中执行此操作时,一旦保存就会立即生效,因此请务必在保存之前测试你的配置。

为了确保服务的稳定性,Cloud 用户可以为开发环境创建一个开发租户。在开发环境中测试配置后,将配置“迁移”到生产,然后保存设置。

启用电子邮件注册或登录

一旦你成功添加邮件连接器并完成配置,你可以根据业务需求启用依赖于电子邮件 + 验证码的登录和注册配置。

  1. 导航到:控制台 > 登录体验 > 注册和登录
  2. 设置注册方法:选择“电子邮件地址”或“电子邮件地址或电话号码”作为注册标识符。注意:目前在注册过程中电子邮件验证是强制性的。
  3. 设置登录方法:选择的注册标识符会自动成为登录方法。点击“添加另一个”以获取其他登录选项。
  4. **保存更改并测试:**点击“保存更改”以实施新的登录体验。记得使用“实时预览”来测试功能。
注意:

由于我们的配置会立即生效,删除现有邮件连接器可能会影响终端用户的正常登录和注册流程。

例如,如果登录标识符包括“电子邮件 + 验证码”组合,删除现有邮件连接器将阻止用户通过电子邮件接收验证码,并导致登录流程出错。

在操作连接器时,请注意潜在的风险。

常见问题解答

如何自定义电子邮件发件人名称?

我们仍在开发更多连接器。如果你需要更多选项,请在 Discord 中告诉我们你的需求,并在 GitHub 上提交功能请求。如果你需要进一步的帮助,你也可以通过电子邮件联系我们

对于贡献者,我们提供了一种易于扩展的连接器创建方法,允许你根据特定场景自定义自己的连接器。我们始终欢迎你向 Logto 提交拉取请求,以便社区中的其他人也能从你的工作中受益。

如何在 Logto 邮件连接器中限制电子邮件请求的 IP 地址?

一种解决方法是使用 Logto HTTP 邮件连接器。

在你的服务器上实现一个调用相关邮件服务的 API endpoint,并通过 Logto HTTP 邮件连接器 触发此 API endpoint。通过这种方式,你将完全控制 API endpoint 的 IP 地址,并可以在邮件服务提供商的配置中将相应的 IP 地址添加到白名单中。