爱意满满的作品展示区。
SoyaLeaf

分享一个 chrome 插件,顺带分享用 Cloudflare + Resend, 0 成本搭建可收发的域名邮箱

  •  
  •   SoyaLeaf ·
    SoyaLeaf · 2h 37m ago · 111 views

    之前为了给自己的网站设置一个有个性的域名邮箱,又不想费心思用企业邮箱,就找到了 Cloudflare 转发邮件这条路子,然后搭配 Resend 就能使用同一域名邮箱地址发信和回复。为了更方便回复邮件,又特地写了一个浏览器插件:Resend Mail Assistant。最近才在群里发现也有其他小伙伴可能需要这套方案,趁机水一篇博客,把整个方案分享出来。

    本文以 [email protected] 为例,介绍 Cloudflare Email Routing 、Resend 和 Resend Mail Assistant 的完整配置流程。

    各部分的作用如下:

    • Cloudflare Email Routing 负责接收发往域名邮箱地址的邮件,并转发到 QQ 邮箱、Gmail 或 Outlook ;
    • Resend 负责以域名邮箱地址发送邮件;
    • Resend Mail Assistant 负责读取当前网页邮件,并通过 Resend 完成回复。

    这套方案不需要自建邮件服务器,在免费额度内也不需要额外支付邮箱服务费。它本质上是“邮件转发 + API 发信”,不提供独立的邮箱后台。

    邮件是怎样流转的

    收件与回复分别走两条路径:

    收件:对方 → [email protected] → Cloudflare → QQ 邮箱 / Gmail / Outlook
    回复:QQ 邮箱 / Gmail / Outlook → Resend Mail Assistant → Resend → 对方
    

    回复发出后,对方看到的发件人是 [email protected]

    准备工作

    开始之前,需要准备:

    • 一个已经将 DNS 托管在 Cloudflare 的域名;
    • 一个用于接收转发邮件的现有邮箱,例如 QQ 邮箱、Gmail 或 Outlook ;
    • 一个 Resend 账号;
    • Chrome 或其他能够安装 Chrome 扩展的浏览器。

    Cloudflare 和 Resend 都需要修改域名 DNS 。如果域名已经在使用其他邮件服务,尤其是已经存在 MX 记录,不要直接覆盖原来的配置,否则可能导致原邮箱无法收信。

    开启 Cloudflare Email Routing

    登录 Cloudflare Dashboard,在左侧菜单展开 Email Service,进入 Email Routing

    在 Cloudflare 中进入 Email Routing

    首次使用时,页面会提示启用 Email Routing 。点击 Onboard Domain 开始配置。

    点击 Onboard Domain 启用邮件路由

    选择需要接收邮件的域名,然后点击 Continue

    选择需要启用邮件路由的域名

    Cloudflare 会列出即将添加到域名中的 MX 和 TXT 记录。确认没有与现有邮件服务冲突后,点击 Activate

    确认 Cloudflare Email Routing 所需的 DNS 记录

    这里不需要照着截图手动填写记录。不同域名、不同时间生成的内容可能不同,应当以 Cloudflare 当前页面显示的记录为准。

    激活后,DNS 和路由状态可能会短暂显示为 Syncing。等待同步完成即可,不需要反复删除和添加记录。接下来点击右侧的 Add a destination address,添加真正用于收信的邮箱。

    等待路由同步并添加目标邮箱

    验证目标邮箱并创建路由规则

    输入 QQ 邮箱、Gmail 或 Outlook 地址后,Cloudflare 会向这个邮箱发送一封验证邮件。打开邮件并点击其中的验证链接,回到 Cloudflare 后应当能看到状态变为 Verified

    在已验证地址右侧打开更多菜单,选择 Create rule

    从目标邮箱创建路由规则

    接下来在 Email pattern 中填写 support,域名选择 mixiao.fan,创建的地址就是 [email protected]

    Action 选择 Send to an email,Destination 选择刚才验证过的邮箱,然后保存规则。以后发往这个域名邮箱地址的邮件都会被 Cloudflare 转发到目标邮箱。

    将 support 域名邮箱转发到已验证邮箱

    现在可以用另一个邮箱向新地址发送一封测试邮件。稍等片刻,邮件应当出现在目标邮箱中。

    Cloudflare 路由生效后,[email protected] 已经可以接收邮件。接下来配置 Resend 的发件能力。

    在 Resend 中验证发件域名

    登录 Resend ,在 Domains 页面点击 Add domain,添加 mixiao.fan。刚添加完成时,域名状态会显示为 Not Started

    在 Resend 中添加 mixiao.fan

    点击域名进入详情页。Resend 检测到 DNS 托管商是 Cloudflare 后,会在 DNS Records 区域显示 Auto configure。点击该按钮,按照页面提示确认自动配置。

    使用 Auto configure 自动配置 Cloudflare DNS

    Resend 会为域名添加发信验证所需的 DNS 记录,包括 DKIM ,以及退信域名使用的 SPF 、MX 等记录。使用自动配置后,不需要再回到 Cloudflare 逐条复制这些记录。

    等待 DNS 生效,然后点击页面右上角的 Verify DNS Records。验证完成后,域名状态会变为 Verified

    Resend 域名验证完成

    如果页面没有显示 Auto configure,或者自动配置失败,再根据 Resend 页面生成的名称、类型和值,到 Cloudflare 的 DNS 页面手动添加。不要复制截图或其他域名的 DNS 值。

    配置时需要注意:

    • 保留 Cloudflare Email Routing 已经生成的 MX 和 TXT 记录;
    • 不要为了配置 Resend 删除 Cloudflare 的收件记录;
    • 同一个主机名不应存在多条独立的 SPF 记录;
    • 如果 Cloudflare 提示记录冲突,先核对主机名和用途,不要强行覆盖。

    域名验证完成后,进入 API Keys 页面创建一个 API Key 。这个 Key 相当于发信密码,只在扩展中配置,不要放进文章、截图或公开代码仓库。

    安装 Resend Mail Assistant

    Resend Mail Assistant 是一款 Chrome 侧边栏扩展,可以通过用户配置的 Resend API Key 发送邮件,也可以读取 QQ 邮箱、Gmail 和 Outlook 网页端当前打开的邮件并准备回复。

    Chrome Web Store 安装扩展后,打开侧边栏并进入“设置”:

    1. 点击“添加 API Key”,粘贴刚才在 Resend 创建的 Key ;
    2. 选择直接保存、本地密码或 Passkey 作为本机保护方式;
    3. 点击“测试”,确认 API Key 可以正常使用;
    4. 添加发件人 [email protected]

    扩展中的发件人必须属于已经在 Resend 验证通过的域名,否则 Resend 会拒绝发送。API Key 、已保存的发件人与发件箱记录保存在当前浏览器的扩展存储中;只有主动发送时,邮件数据才会提交给 Resend 。

    在网页邮箱中回复

    收到 Cloudflare 转发的邮件后,在 QQ 邮箱、Gmail 或 Outlook 网页端打开它。右键点击页面,选择 用 Resend 回复当前邮件

    在网页邮箱中选择用 Resend 回复当前邮件

    扩展会打开侧边栏并尝试读取当前邮件,自动解析原始发件人、主题、日期和 Message-ID,同时填写收件人与回复主题。

    扩展读取当前邮件并准备回复

    确认发件人、收件人和正文后,点击“发送邮件”。扩展会通过 Resend 发出邮件,并附带回复会话所需的邮件头。对方收到邮件时,回复会尽可能出现在原来的邮件会话中,而不是变成一封毫无关联的新邮件。

    通过 Resend 发出的回复进入原邮件会话

    如果扩展无法自动读取当前邮件,可以在邮箱中打开“显示原始邮件”或“邮件原文”,复制完整源码,粘贴到扩展的“粘贴原始邮件源码”区域后手动解析。

    原文链接:https://mixiao.fan/articles/cloudflare-resend-email/

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2849 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:44 · PVG 22:44 · LAX 07:44 · JFK 10:44
    ♥ Do have faith in what you're doing.