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

4 月 12 日
 nonozone

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

传统解决方案各有问题

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

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

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

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

原理很简单:邮件通过 Cloudflare 转发到你的 Gmail/或者其他任意邮箱 时,Ohrelay 同时记录这封邮件的原始收件地址(比如 support@abc.com )。你在 Gmail 直接回复,系统会自动把发件人替换成对应的域名邮箱地址——对方收到的邮件,发件人显示的还是 support@abc.com ,而不是你的 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 扫项目代码回答...

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

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

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

@nonozone #10



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

@nonozone #9
nonozone
4 月 18 日
好的, 有空我也借鉴下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1205331

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX