再来推广一下自己写的域名邮箱服务 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
AutumnVerse
V2EX    分享创造

再来推广一下自己写的域名邮箱服务

  •  1
     
  •   AutumnVerse 2023-12-18 11:19:31 +08:00 3362 次点击
    这是一个创建于 744 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前在这里推广过,不好意思打扰大家。主要是差 92 个 star 到 1k ,想要几个 star

    一台服务器、一个域名、一行代码、一分钟时间,你就能够搭建出一个自己的域名邮箱!

    专为个人使用场景设计,目前绝对是全网你能找到的,资源占用最少、部署最方便的邮箱服务器。除此之外,自动 SSL 、微信 Push ,应该也是全网独此一家。

    整个项目二进制文件仅 15M ,运行内存仅 1M 。0.5 核 64M 的垃圾 VPS 也能流畅运行!

    相比于 3 个月前,目前项目基本上成型了,支持了 pop3 和 smtp 协议,可以使用 GMail 之类的第三方邮件客户端收发信了。

    演示视频:

    img

    项目地址:

    https://github.com/Jinnrry/PMail

    PS:

    我以前也没有邮箱相关的开发经验。go 语言也基本上没有邮件相关协议的生态。全网无论中英文,基本上也找不到这类的资料。整个开发过程还是挺曲折的,都是我自己去硬啃 RFC 协议文件,然后照着 RFC 文件一点一点写出来的。但是某个协议并不是看完一个 RFC 就完了,各种知识分散在很多个 RFC 中,RFC 文档也没有目录,也没有示例,很多东西可能一句话就描述完了,但是具体实现的时候很多细节根本不知道怎么处理。

    目前第三方客户端还是存在兼容性问题,我使用 GMail 和苹果邮件客户端测试是没有问题的。但是 QQ 邮箱等客户端会有问题,暂时没找到原因。

    最后,欢迎感兴趣的朋友加入。无论是前端、还是后端、还是 UI 、设计等等。无论贡献的是协议代码,还是业务逻辑代码,还是插件代码,还是前端代码,甚至是 UI 、设计图都可以。

    19 条回复    2023-12-21 19:44:01 +08:00
    allenby
        1
    allenby  
       2023-12-18 12:57:19 +08:00 via Android
    支持 25 端口的提供商有哪些?
    allenby
        2
    allenby  
       2023-12-18 12:59:34 +08:00 via Android
    以前试着整了一个 pop 读取新邮件发送到 tg 的,但是需要定时去 pop 上取,不是很方便。话说,有哪些收信协议不需要我定时去读取邮箱的?
    alfchin
        3
    alfchin  
       2023-12-18 13:00:02 +08:00 via iPhone
    @allenby exchange
    AutumnVerse
        4
    AutumnVerse  
    OP
       2023-12-18 14:13:17 +08:00
    @allenby #1 我用的搬瓦工,25 端口是能够正常使用的,也不需要申请解封

    另外,这个项目现在就有 tg 推送插件,配置好推送相关 key 就行了,不需要额外开发
    andy7076
        5
    andy7076  
       2023-12-18 15:21:40 +08:00
    好像腾讯企业邮箱绑定一下域名就好, 主要是还是自己搭建的服务感觉不够稳定,不敢用,万一哪天挂了或者自己不想维护了。 一堆绑定邮箱的业务用不了真的捉急。
    a6MShNOj4en2EU97
        6
    a6MShNOj4en2EU97  
       2023-12-18 15:32:17 +08:00
    cloudflare 免费,而且非常的快速,想抛直接就抛
    Bzero
        7
    Bzero  
       2023-12-18 18:03:18 +08:00
    imap 993 端口,支持吗?
    julyclyde
        8
    julyclyde  
       2023-12-18 20:28:34 +08:00
    为什么说 RFC 文档没有目录?
    yafoo
        9
    yafoo  
       2023-12-18 22:02:24 +08:00 via Android
    之前收藏过了
    aayyooh2
        10
    aayyooh2  
       2023-12-18 22:08:09 +08:00
    已 star
    947
        11
    947  
       2023-12-20 09:00:07 +08:00
    @andy7076 #5 挂了再绑定企业邮箱就行了吧?只是说以前的邮件没了,但是重新找个平台绑上应该还能收到新邮件
    AutumnVerse
        12
    AutumnVerse  
    OP
       2023-12-20 10:49:15 +08:00
    @julyclyde 我说的不是单个文档内的目录。我说的是比如你想了解 smtp 协议,不会有人告诉你需要看那几个 RFC ,也你只能一个一个去找相关的,然后根据发布年份一个一个看
    julyclyde
        13
    julyclyde  
       2023-12-20 10:51:05 +08:00
    @jiangwei2222 确实,尤其是替代关系需要自己捋一下
    比如 822/821 和 2822/2821

    按说这属于行业通识。但是对于外行人员入行来说就比较麻烦
    rekulas
        14
    rekulas  
       2023-12-20 21:54:44 +08:00
    提个建议 配置文件可以考虑按不同功能/类型的不同分层级管理,全部平铺看着好累而且以后扩展新功能也会显得杂乱
    rekulas
        15
    rekulas  
       2023-12-20 22:04:30 +08:00
    另外文档不是很清晰,我跑起来发现没配置文件,看了代码才猜到应该放到 config/config.json 里,对小白或不熟悉的不友好

    另外我只想搭建一个收件服务器的话应该不需要 dkim,但启动似乎强制校验,也没有开关...
    rekulas
        16
    rekulas  
       2023-12-20 22:08:02 +08:00
    当我修复了以上问题,继续运行,又报 ssl 错误
    panic: at /home/runner/work/PMail/PMail/server/services/setup/ssl/ssl.go:157
    然而我的 httpsEnabled 已经为 0 sslType 也设置为 1 了 我不懂为什么还要强制去开启 ssl
    ssl 这种交给 web 服务就好了
    rekulas
        17
    rekulas  
       2023-12-20 22:11:13 +08:00
    好吧 上面配置看错了 httpsEnabled 0 1 都是启用 2 是不启用, 这
    rekulas
        18
    rekulas  
       2023-12-20 22:25:35 +08:00
    修复以上配置后,程序终于跑起来了,但是发现没账号密码,找遍文档也没有

    只能自己拉下来 db 文件,查看下源码里密码 hash 函数自己手动写入一个账号,上传覆盖,终于可以登录了...

    说实话,体验感受并不是很美好建议优化下

    我估计你的目的是一开始就启动 web 然后用户从 web 初始化系统

    但是现实总是复杂多变的,我的 80 端口冲突所以直接覆盖了默认配置,而且 init 参数没有改,导致踩了不少坑
    AutumnVerse
        19
    AutumnVerse  
    OP
       2023-12-21 19:44:01 +08:00
    @rekulas #16 因为不止 https 协议需要 SSL 证书,pop3 、smtp 这些协议都需要 SSL 证书
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3113 人在线   最高记录 6679   nbsp;   Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 04:47 PVG 12:47 LAX 20:47 JFK 23:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86