免费使用自有域名收发邮件

最近有越来越多的朋友开始尝试重新拥抱去中心化的互联网——购买独立域名,搭建 blog 或 mastodom。此时一个用自己的域名做地址的 email 对于增强品牌认知和建立与读者的连接都是非常有帮助的。

用域名邮箱地址接收邮件

对于 blog 或 podcast 之类的个人站点,由于并不提供用户服务,更普遍的应用场景只需要能接收邮件即可。因此很多时候我们并不真的需要一个实际的邮箱服务,只要能将发送到域名地址的邮件转发到我们自己的个人邮箱——比如 gmail, outlook 之类——就能应付大部分需求了,同时也方便将各种邮件集中管理起来。

提供域名邮件转发的服务有很多,我自己之前使用的是 mailgun,但后来他们调整了收费方案,不再提供免费的收取邮件功能。简单调研后,我目前转到了 improvmx

Improvmx 的一个特点是用户引导做得非常好,一打开首页可以直接填写域名和要转发到的地址,然后系统会自动用填写的域名和邮件来注册新用户,同时页面自动跳转到 step-by-step tutorial 引导你如何在 DNS 服务商那里添加 DNS record,非常直观。对于常见的站点服务例如 Netlify,AWS 等也有相应的帮助文档。假设我们填写的是 hi@yourdomain.com 转发到 john+yourdomain@gmail.com,略微等一会,让 DNS record 生效后(improvmx 的 dashboard 上也有绿色黄色等标识),发送到 hi@yourdomain.com 的邮件,就会自动转发到 john+yourdomain@gmail.com

与大部分 email forwarding 服务一样,improvmx 也提供了 address alias 功能。同一个域名可设置多个 alias,还可以使用 * 符号1——*@yourdomain.com 来捕获所有其他邮件。免费账号每月代收转发的邮件数量和 alias 数量都是有限的,但对于个人站点的使用来说绰绰有余了。

用域名邮箱地址发送邮件

Improvmx 交互清爽简单也足够稳定,唯一不足的是免费账户并不能使用 SMTP 从自己的域名地址发送邮件。但用自有域名发信的需求还是存在的,比如搭建了 huginn 服务想添加一个发送 email 通知的 agent;又比如新建了 mastodom 站点想邀请一部分朋友来用,需要给大家发确认邮件。

好在还有别的选择,前面提到的 mailgun,改版之后虽然不能免费收信,但依然保留了发信的功能。

类似的,按照引导说明,先添加验证自己的 domain,然后回到 DNS 服务商那边按照 mailgun 提供的说明添加 DNS record。需要注意的是,因为并不使用 mailgun 收信,所以只添加 TXT 和 CNAME record 即可,不用重复添加 MX record(事实上,MX record 应该在上一步 improvmx 的设置时已填好)。

等待 DNS 生效后,回到 mailgun domain setting 页面,找到 SMTP credentials 页。在这里你会找到设置 SMTP 需要的 server 地址,port 端口号,username (full email address) 以及密码。

拿到这些信息后,就可以去支持 SMTP 代收的邮件服务商,设置用自己的域名地址来发送邮件了。以 gmail 为例,在 settings -> Accounts and Import -> Send mail as -> Add another email address,一路按照提示操作,填写上面的 SMTP 信息即可。

其他方案

API

Mailgun 和 improvmx 都提供了 API,可以用命令行或者写程序来进一步扩展邮件服务。如果你的站点需要批量发送邮件,或者自定义规则自动发送邮件,则可以使用 API 来完成。当然对于只是偶尔收发域名邮件的个人站点,这部份可以暂时不管。

付费邮箱方案

当然我们还可以选择很多现成的付费邮箱方案,比如 G Suite,Fastmail,zoho 等。一些加密邮件服务的付费版本,比如 protonmail,tutanota 等也支持自定义域名。当域名邮件不再只是个人 blog 之类的 side project 时,还是推荐使用成熟的付费方案。

Recap

当有了自己的域名之后,配备一个或多个以自己域名做地址的 email 是一件很酷同时非常实用的事情。对于少量的使用,可以考虑免费的第三方服务。本文推荐了使用 improvmx 做转发收信,使用 mailgun 配置 SMTP 发信的方案。 这样就可以在自己的私人 gmail 里免费统一收发域名邮件了。


  1. 这个 catch-all 的功能看起来很酷,但我个人并不推荐,会增加垃圾邮件。↩︎