兄弟们,今天我要分享一个让我直呼“卧槽”的神器。不知道你们有没有这样的经历:
- 想搞个个人网站,但不想用
xxx@gmail.com这么普通的邮箱 - 想用自己域名发邮件,但看到G Suite的价格就劝退了
- 想给每个服务用不同的邮箱,但又不想管理一堆邮箱账号
别慌,今天的主角is-a-dev/register就是来解决这些痛点的!
什么是is-a-dev/register?
简单说,这是一个GitHub开源项目,能让你免费获得一个[你的用户名].is-a.dev的子域名,并且支持邮件转发功能!
比如我申请了zhangsan.is-a.dev,那我就可以用:
hello@zhangsan.is-a.dev作为我的个人邮箱github@zhangsan.is-a.dev专门收GitHub的邮件newsletter@zhangsan.is-a.dev订阅各种资讯
所有邮件都会自动转发到你指定的真实邮箱,而你只需要管理这一个真实邮箱就行!
原理揭秘:DNS的魔法
这玩意儿是怎么实现的呢?其实原理并不复杂,主要靠两个DNS记录:
1. CNAME记录 - 域名指向
当你申请zhangsan.is-a.dev时,项目会在DNS里添加:
zhangsan.is-a.dev. IN CNAME is-a-dev.github.io.
这样访问zhangsan.is-a.dev就会指向GitHub Pages。
2. MX记录 - 邮件路由
更厉害的是邮件转发,这是通过MX记录实现的:
zhangsan.is-a.dev. IN MX 10 mx1.improvmx.com.
zhangsan.is-a.dev. IN MX 20 mx2.improvmx.com.
邮件服务器指向了ImprovMX的服务,这是一个免费的邮件转发服务。
手把手实战:从申请到使用
第一步:Fork仓库并修改配置
首先,Fork这个仓库:github.com/is-a-dev/re…
然后在你Fork的仓库里,找到domains目录,创建一个以你用户名命名的JSON文件,比如zhangsan.json:
{
"owner": {
"username": "zhangsan",
"email": "zhangsan@gmail.com"
},
"record": {
"CNAME": "zhangsan.github.io",
"MX": ["mx1.improvmx.com", "mx2.improvmx.com"],
"TXT": "v=spf1 include:spf.improvmx.com ~all"
},
"proxied": false
}
参数解释:
owner.email: 你的真实邮箱,用于接收转发邮件CNAME: 你的GitHub Pages地址(可选)MX: ImprovMX的邮件服务器TXT: SPF记录,防止邮件被标记为垃圾邮件proxied: 是否使用Cloudflare CDN
第二步:提交Pull Request
提交更改后,创建一个Pull Request到原仓库。项目维护者会审核你的申请,通常24小时内就会通过。
审核通过后,你的域名就生效了!你可以用dig命令验证:
# 检查CNAME记录
dig zhangsan.is-a.dev CNAME +short
# 应该返回:is-a-dev.github.io.
# 检查MX记录
dig zhangsan.is-a.dev MX +short
# 应该返回:10 mx1.improvmx.com. 和 20 mx2.improvmx.com.
第三步:配置ImprovMX转发
虽然DNS记录自动设置了,但还需要在ImprovMX上配置转发规则:
- 访问 improvmx.com/
- 添加域名:
zhangsan.is-a.dev - 设置转发目标:你的真实邮箱
- 配置别名(可选):
*@zhangsan.is-a.dev→ 转发所有邮件github@zhangsan.is-a.dev→ 只转发GitHub相关邮件
进阶玩法:自定义域名
如果你有自己的域名,也可以配置成mail.yourdomain.com这样的专业邮箱!
{
"owner": {
"username": "zhangsan",
"email": "zhangsan@gmail.com"
},
"record": {
"CNAME": "zhangsan.github.io",
"MX": ["mx1.improvmx.com", "mx2.improvmx.com"],
"TXT": "v=spf1 include:spf.improvmx.com ~all"
},
"proxy": {
"CNAME": "mail.yourdomain.com",
"proxied": true
}
}
这样你就可以用hello@mail.yourdomain.com了,逼格瞬间拉满!
实际应用场景
场景1:个人品牌建设
# 张三的个人主页
- 邮箱: hello@zhangsan.is-a.dev
- GitHub: github.com/zhangsan
- 博客: blog.zhangsan.is-a.dev
场景2:服务隔离
// 不同服务用不同邮箱,方便管理
const serviceEmails = {
github: 'github@zhangsan.is-a.dev',
aws: 'aws@zhangsan.is-a.dev',
newsletter: 'news@zhangsan.is-a.dev'
};
// 如果某个邮箱开始收到垃圾邮件,直接禁用这个别名就行
场景3:临时邮箱
# 注册需要邮箱验证的服务时,可以用一次性邮箱
import uuid
def get_temp_email():
temp_name = f"temp-{uuid.uuid4().hex[:8]}"
return f"{temp_name}@zhangsan.is-a.dev"
# 用完就在ImprovMX里删除这个别名
注意事项和坑
-
不是真正的邮箱服务器:只能转发,不能直接发送邮件。要发邮件还是得用SMTP服务。
-
延迟问题:邮件转发通常有几秒到几分钟的延迟。
-
垃圾邮件风险:建议为重要服务(如银行、支付)还是用正规邮箱。
-
DNS传播时间:修改DNS记录后,全球生效可能需要几小时。
-
免费服务的限制:ImprovMX免费版每月转发300封邮件,对个人使用完全够用。
总结
is-a-dev/register这个项目真是开发者的福音。它用最简单的技术(DNS记录+邮件转发),解决了我们实际开发中的痛点。
最让我感动的是开源社区的这种精神——有人发现问题,有人贡献解决方案,大家一起让开发者的生活变得更美好。
现在就去申请你的专属域名邮箱吧!当你第一次收到发往cool@yourname.is-a.dev的邮件时,那种“这TM才叫专业”的感觉,真的爽!
最后的小提示:虽然这个服务很稳定,但毕竟是依赖第三方。如果你要做商业项目,建议还是用专业的邮件服务。但个人使用、开源项目、技术博客这些场景,完全没问题!
有什么问题欢迎在评论区交流,如果文章对你有帮助,别忘了点个赞👍!