V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
nonozone

自己做了个工具,解决多域名邮箱「收发身份对应」的问题 —— Ohrelay,尤其针对使用 cloudflare 进行邮件转发的用户

  •  1
     
  •   nonozone ·
    nonozone · 5 天前 · 890 次点击

    我相信 V2EX 有很多用户跟我一样,手里有多个域名、每个域名下还有几个前缀( info@ 、hello@ 、support@……)但实际上只有自己一个人收发邮件。

    传统解决方案各有问题

    买域名邮箱(腾讯企业邮、Zoho 等):按用户数收费倒是其次,关键是收发邮件要在多个收件箱之间切换,用 Foxmail 这类客户端配置的话账户列表一大堆,很烦。

    用 Cloudflare 邮件转发:把所有地址转发到 Gmail 可以解决收件问题,但回复时要么直接用 Gmail 地址(对方看到 Gmail 地址),要么手动添加一堆别名——地址少还好,多了一样折腾。

    核心痛点是:回复时发件人身份无法自动对应

    我做的 Ohrelay 解决的就是这个问题。

    原理很简单:邮件通过 Cloudflare 转发到你的 Gmail/或者其他任意邮箱 时,Ohrelay 同时记录这封邮件的原始收件地址(比如 [email protected] )。你在 Gmail 直接回复,系统会自动把发件人替换成对应的域名邮箱地址——对方收到的邮件,发件人显示的还是 [email protected] ,而不是你的 Gmail 。

    几个设计细节

    不需要为每个前缀真正开通邮箱,在 Ohrelay 里新增一个前缀就生效

    唯独需要手动配置的只有两个地方。

    1 . 首次使用需要授权调用 Cloudflare 的 token ,以便添加域名的会自动帮你配置 DNS 记录和 Worker 转发脚本,后续完全不用手动操作

    2 . 每个目标邮箱(比如你的 Gmail )绑定后会生成一个专属 SMTP 发件地址,需要自行把这个 smtp 地址添加到 Gmail 的「外部发件人」,之后回复邮件的时候下拉这个 smtp 账户发出去的邮件都走 ohrelay 中转识别。如果你用的是普通邮件客户端,直接填写这个 smtp 发件地址,就不用其他任何操作,跟收发普通邮件是一样的。

    发件后端目前用的是 Amazon SES

    这个需求折腾了挺久,一直没找到完美方案,最后决定自己做。用 vibe coding 开发,前后大概两周多,核心部分很快完成了,主要精力都花在易用性上。现在自认为产品还算成熟,大概有 90%+的完成度,剩下的那一小部分未完成,可能需要大家的使用来暴露出来。

    现在是免费测试阶段,欢迎感兴趣的人试用,可能有一些有 bug 需要处理。

    目前官网上有一个价格单,不过大家也不要担心,那个只是一个示例,因为项目原本是想针对海外市场,定价本身跟国内不同,后续大概率也会调整。总之现在访问/登录,没有任何限制条件,也不收集任何信息。

    网站:ohrelay.com 网站估计 ai 的味道还比较浓,主要是看用户面板吧。

    算是我第一个正儿八经 vibe coding 的项目,且不是重复造轮子,并且确实解决了部分需求,还希望大佬们多提意见,如果对技术细节有疑问的,也可以贴完,我可以回答,我回答不了,我就让 ai 扫项目代码回答...

    11 条回复    2026-04-17 05:26:25 +08:00
    nonozone
        1
    nonozone  
    OP
       5 天前
    补充一点,所有的收件/发件都保存在你自己的工作邮箱(比如 Gmail )里,你的客户比如 [email protected] 给你发邮件,在 Gmail 里的发件人依然是 [email protected] ,你回复他的邮件,收件人同样也是 [email protected] 。这样搜索整理查询都非常的简单直接,不像传统的域名邮箱那样,需要切换到不同的账户查找。
    koodai
        2
    koodai  
       5 天前
    外部发件人国内 126 或者 qq 之类的可以用吗?
    nonozone
        3
    nonozone  
    OP
       4 天前
    @koodai 国内邮箱对外部发件人支持都很差,但是可以用邮件客户端,理论上就没问题了。
    galenzhao
        4
    galenzhao  
       4 天前
    是个好思路,ses 每天 free 200 ,作为个人发肯定是够了
    nonozone
        5
    nonozone  
    OP
       3 天前
    @galenzhao 发件,这些到还好,如果不是群发,正常收发件,都不会太多。还有现在其实是所有的用户用的都是我一个人的 SES key 。是算总数的。
    galenzhao
        6
    galenzhao  
       3 天前
    @nonozone en 我是说你这个思路很好
    我准备自己搞搞
    nonozone
        7
    nonozone  
    OP
       3 天前
    @galenzhao #6 https://github.com/nonozone/OhRelay-engine 核心部分我拿出来了,不过由于是在现有项目下分割的,估计不是很完整。
    galenzhao
        8
    galenzhao  
       2 天前 via Android
    我准备用 go- guerrilla 改一个。
    我感觉你这产品主要问题是,能有这需求的应该都技术有点能力,然后能放心把一个域下的 sendmail 权限给到你的平台么?
    另外就是 reply 时候 ,所有 mail content 也都是可见的。
    nonozone
        9
    nonozone  
    OP
       2 天前
    其实主要是后端 SES token 的问题,后期,可以让用户使用自己的 SES ,这个是小问题。reply 的时候,确实会经过路由层,不过也仅仅是通过内存。 要说严格杜绝隐私,那肯定不可能,不过这个已经是现有其他方案最克制了的。 其他的转发/路由方案其实是整个把整个邮件地址转化。

    这个产品的目标用户按道理来说,不应该是技术人员,需要打包成能让普通用户也能使用。技术上虽然确实也不难,不过折腾来折腾去的,也不少麻烦。
    nonozone
        10
    nonozone  
    OP
       2 天前
    @galenzhao #8 也确实考虑过,把核心弄出来搞个一个可以私有部署版,docker 什么的,不过最近都是在修修补补,暂时搞不过来。
    galenzhao
        11
    galenzhao  
       1 天前
    码了个自己能用的,https://github.com/galenzhao/cf-worker-mail
    cf worker ,

    配合 ses ,
    https://github.com/galenzhao/go-guerrilla

    @nonozone #10



    倒是普及 pgp 的话也就不怕中间隐私了

    @nonozone #9
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   902 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 22:01 · PVG 06:01 · LAX 15:01 · JFK 18:01
    ♥ Do have faith in what you're doing.