(摘) 打造个人专属邮箱,域名邮箱,邮件系统 (更新2022.5.8)

声明:内容源自网络,版权归原作者所有。若有侵权请在网页聊天中联系我

最近使用微信小程序开发比较多,一个帐号需要一个邮箱,导致邮箱都不够用了。

一般的邮箱系统需要与手机号绑定,所以能够申请的数量是有限的。

家里利用电信宽带挂的Pi3作为服务器,如果能自己架一个小型邮箱系统,那想要多少邮箱都行。加之自己的域名,感觉帅气了许多。以前腾讯QQ邮箱可以绑定域名,似乎现在是收费了。

另外,还想通过自己的思路解决垃圾邮件的问题:

邮箱由两部份构成,前面是帐号,后面是数字,中间用下划线连接。

数字作为子邮箱(你可以有无限的邮箱),作为每一个发件人的授权编号。邮箱名称不完整的一概不收。

发现邮箱名称被泄露,自己就知道来源,然后重新授权另一个编号即可。

在Github上找到了一个轻量型的inbucket,将它改造一下,适合自己的想法。

它有网页端,却没有用户登陆管理,即任何用户都可以查看所有用户收到的邮件。不过好在我是个人使用,且放在内网。

加上原有的小型公网服务器,通过端口映射到pop3和smtp,加上域名,完美的x@xxxx.net个人专属邮箱。

现在实现了邮箱名称过滤,标题过滤。更多的功能还需要时间完成。

虽然基于golang是跨平台应用,但它看起来占用很小的系统内存(不到15MB),很适合树莓派这种小型的应用。

2021.12.16

这是我运行15天的情况,运行在一台云服务器上:内存占用16MB,收到1.5万连接。不过基本都是垃圾邮件,暂时还没有启用邮箱注册,所以会收到所有对方猜测的邮箱。主要想通过收垃圾邮件来完成过滤功能。


2022.5.7

继续对邮件系统进行改造。
作者对inbucket进行了升级,不过看起来前端更复杂了,需要用到elm和node。

  1. 使用了sqlite3小型数据库,将过滤等内容添加进入。
  2. 现在可以过滤:标题、邮箱、内容、IP、域名。
  3. 通过API添加过滤,邮箱列表、邮件列表/删除
  4. 仅接收注册邮件(为了测试暂未开通)

计划:

  1. 用户验证
  2. 网页收发邮件
  3. 分帐号注册功能
  4. 邮件标题防垃圾功能

希望打造中一个1分钟部署好的邮件服务器。


补充一下相关知识:

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,用来发送邮件。
POP (Post Office Protocol version) 即邮局协议。它被用户代理用来邮件服务器取得邮件

SMTP 邮件传输过程

SMTP与POP


2022.5.8


PS: 祝母亲节日快乐

  1. 增加了用户验证功能,不能随意查看别人邮件了
  2. API也增加了验证功能,通过验证后才能操作
  3. 手动试过SMTP发送邮件,POP收取邮件
  4. 下一步完成用户注册邮箱功能,并开通指定邮箱接收功能。
  5. 计划本月就可以开放注册使用了。