爱意满满的作品展示区。
AutumnVerse

只需一分钟,搭建一个自己的域名邮箱服务

  •  5
     
  •   AutumnVerse · Aug 14, 2023 · 9893 views
    This topic created in 1183 days ago, the information mentioned may be changed or developed.

    两周前开源了PMail的第一版,第一版基本上只完成了核心逻辑。这两周花了几天,完成了 2.0 版本。新版本支持了 SQLite 数据库、支持了 ACME 协议(能够全自动处理 SSL 证书的获取与更新)、添加了配置引导页面。

    这个版本极大的优化了部署效率。因此,我给这个项目写了一个口号:

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

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

    演示视频:

    img

    项目地址:

    https://github.com/Jinnrry/PMail

    免责声明:

    我自己目前使用了两个多月了,收发国内外各种 app 的验证码,均没有任何问题。但是项目整体没有完整的测试用例,也没有经过严谨的测试,也没有大量用户验证。因此不建议立刻把自己的主邮箱迁过去。

    其他:

    欢迎各类 PR ,无论你是修复 bug 、新增功能、修改翻译。最后,征求一个 Logo !

    76 replies  •  2023-08-27 15:26:46 +08:00
    Clay0620
    Clay0620
    Aug 14, 2023
    1
    应该支持通过接口获取指定邮箱验证码的功能吧?
    QUC062IzY3M1Y6dg
    QUC062IzY3M1Y6dg
    Aug 14, 2023❤️7
    2
    看着小巧精致,等一个 docker 版本
    wentx
    wentx
    Aug 14, 2023
    3
    HunSiKing
    HunSiKing
    Aug 14, 2023
    4
    支持一番!
    xmsumi
    xmsumi
    Aug 14, 2023
    5
    支持并期待更新 API ,方便接入到其他项目使用。
    clooooo
    clooooo
    Aug 14, 2023
    6
    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x990826]

    goroutine 1 [running]:
    main.main()
    /Users/didi/privatePjt/PMail/server/main.go:56 +0xa6

    启动是这个报错?
    WebKit
    WebKit
    Aug 14, 2023 via Android
    7
    支持,等养肥了在用。😅
    eBMm8zIi0Zq3
    eBMm8zIi0Zq3
    Aug 14, 2023
    8
    支持! 能不能支持多域名?
    maskerTUI
    maskerTUI
    Aug 14, 2023
    9
    这个好,眼前一亮的个人产品。
    IDAEngine
    IDAEngine
    Aug 14, 2023
    10
    太精简,喜欢😍
    BaseException
    BaseException
    Aug 14, 2023
    11
    star 了
    shermie
    shermie
    Aug 14, 2023
    12
    希望支持通过接口获取指定邮箱验证码的功能
    leoskey
    leoskey
    Aug 14, 2023
    14
    logo 就把 @ 顺时针旋转 90 度
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    15
    @CY4suncheng
    @xmsumi
    只是读验证码的话,你直接读数据库就行吧?或者你写个插件获取也行,再或者你直接用前端的获取邮件列表接口也行
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    16
    @clooooo 重新发了个版本,修复了
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    17
    @eBMm8zIi0Zq3 这个暂时没考虑到
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    18
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    19
    @shermie 直接读数据库?
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    20
    @runningowl 试了下,有点丑,只是简单把名字换个字体生成图片而已。
    deplivesb
    deplivesb
    Aug 14, 2023
    21
    能支持命令行启动自定义端口么?
    willsun
    willsun
    Aug 14, 2023
    22
    docker 版有吗,最好可以部署到自家 nas 上就好了。
    runningowl
    runningowl
    Aug 14, 2023
    23
    要带图片的?那试试这个 https://logo-maker.freelogodesign.org/
    要不就找 dalle 来一个了
    runningowl
    runningowl
    Aug 14, 2023
    24
    再来个 chat 给的 slogan
    One Server, One Domain, One Line of Code, One Minute – Unleash Your Own Domain Mailbox!
    Bssn
    Bssn
    Aug 14, 2023
    25
    不知道为什么无法收到回信,发信正常
    MarlonFan
    MarlonFan
    Aug 14, 2023
    26
    已经用上的兄弟们, 会不会被当成垃圾邮箱有人试过么
    hqwuzhaoyi
    hqwuzhaoyi
    Aug 14, 2023
    27
    之前自己搭建的一直没用起来,关注了老哥
    shwnpol
    shwnpol
    Aug 14, 2023
    28
    支持
    timothyye
    timothyye
    Aug 14, 2023
    29
    不错,已 star
    sommer
    sommer
    Aug 14, 2023 via Android
    30
    需要开 25 端口吗(不太懂自托管的邮箱)

    这个主要是给自己日常通信用的吗,如果大规模发是不是就要有相应的频率控制,来管理声誉
    cnit
    cnit
    Aug 14, 2023❤️1
    31
    https://logo-maker.freelogodesign.org/

    document.getElementById('watermark').remove()
    Masoud2023
    Masoud2023
    Aug 14, 2023
    32
    不能发?
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023 via Android
    33
    @deplivesb 25 端口是不能改的,80 ,443 端口可以改
    Bssn
    Bssn
    Aug 14, 2023
    34
    @MarlonFan 不知道其他人,反正我的会,测试了一下谷歌,直接给我丢垃圾邮箱了
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023 via Android
    35
    @Bssn
    @sommer 需要开 25 端口,有些 vps 会默认 ban 掉 25 端口,收不到信的话检查下 25 端口是不是不通
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023 via Android
    36
    @Bssn https://www.mail-tester.com/?lang=zh

    拿你的邮箱测试一下看看呢。如果有问题按他提示改改
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023 via Android❤️1
    37
    @willsun 我今晚回去编译一个 docker
    ben5959
    ben5959
    Aug 14, 2023
    38
    微信 push 的功能是指?
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023 via Android
    39
    @ben5959 收到邮件以后,使用微信公用号消息接口推送给你。(微信接口需要你自己申请)
    o0
    o0
    Aug 14, 2023
    40
    自己部署?好像国内的云厂商不是很欢迎?
    mianlaodie
    mianlaodie
    Aug 14, 2023
    41
    同求一个 docker 版本
    cat9life
    cat9life
    Aug 14, 2023
    42
    注意国内默认 block 25 端口,需要申请开通
    cheung
    cheung
    Aug 14, 2023
    43
    正需要这么个轻量级的邮件应用,API 接口整起来。
    awsl2333
    awsl2333
    Aug 14, 2023
    44
    不错
    dianso
    dianso
    Aug 14, 2023
    45
    喜欢单文件二进制部署,问一下,我的网站每天回复别人留言自动发邮件,大概几万封,目前是内置了 13 个 163 的账号来完成。

    要是我服务器大量发送会不会被主流邮件商拉黑啊
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023 via Android
    46
    @dianso 卧槽,几万封,这个就得看其他邮件服务器的策略了。这种我也不确定,现在最好别把核心业务迁过来,我也只用了几个月,可能有各种 bug
    zhcnxyz
    zhcnxyz
    Aug 14, 2023
    47
    支持
    kebamt
    kebamt
    Aug 14, 2023
    48
    骗人🤥,花了 21 分钟🤣
    dusu
    dusu
    Aug 14, 2023 via iPhone
    49
    说说我们目前对自建邮局正在处理的一些深入需求,OP 也可以看看:

    1. 针对单机多 ip/多域名/多出口发信的问题
    2. 分布式,解决单点问题,mx 解析一条记录肯定是不够的,单节点去部署邮件就得一台一台去看,略麻烦
    3. 不接 rspamd 没法过滤垃圾邮件 后期垃圾邮件多了会很烦,同时支持 rule 的话可以解决转发、过滤、分流等问题

    另外可以参考一下这个项目
    https://github.com/jeboehm/docker-mailserver
    tyzandhr
    tyzandhr
    Aug 14, 2023 via Android
    50
    能否通过 api 代理 gmail ?
    pigmen
    pigmen
    Aug 14, 2023
    51
    还是 Cloudflare 更香 更便捷
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    52
    @shuxhan
    @mianlaodie docker 有了
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    53
    @dusu 啊,我如果早看到这个项目可能就不会自己手撸了。我下一步也计划支持 IMAP 、POP3 的,这个项目全都支持了

    垃圾过滤正准备加,我现在已经开始每天收一堆垃圾邮件了。

    多 ip 、多域名、分布式这些可能得等等了。目前我自用需求不是太高。
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    54
    @tyzandhr 短期内可能不会支持。至少稳定性得达到 Gmail 那个级别才敢把 Gmail 的邮件代理过来吧。现在我都不保证稳定性,代理 GMail 作为主邮箱的话,万一程序 panic 导致丢信了,那影响就大了。

    就像#49 说的,目前项目都是单节点运行的,真做主邮箱用,风险太大了
    AutumnVerse
    AutumnVerse
    OP
    Aug 14, 2023
    55
    @dusu 仔细想了想,其实多节点、多域名没多少改动,DNS 配上就行了。目前程序 session 是存数据库的,多节点配置同一个 MySQL 就行了。

    DNS 解析配上,现在多域名收信应该都可以用,发信的话只是前端没法操作,其实理论上也支持
    fmvp520
    fmvp520
    Aug 14, 2023
    56
    支持一番!
    iiiooiii
    iiiooiii
    Aug 14, 2023
    57
    支持一下,养肥再用。
    kljsandjb
    kljsandjb
    Aug 15, 2023 via iPhone
    58
    等大家坑差不多踩完了我就把 docker-mailserver 换你这个😄
    QUC062IzY3M1Y6dg
    QUC062IzY3M1Y6dg
    Aug 15, 2023
    59
    @pigmen 好用是好用,就是只能收,不能发
    princenan
    princenan
    Aug 15, 2023
    60
    感觉可以做一个和苹果一样的隐私邮箱功能
    blackboxo
    blackboxo
    Aug 15, 2023
    61
    虽然最近正好有需求,但是没有稳定性保证不太敢用。。
    DOOMS
    DOOMS
    Aug 15, 2023
    62
    我使用的是 qq 企业邮箱自定义的

    之前是微软的,但是 E5 过期了
    QUC062IzY3M1Y6dg
    QUC062IzY3M1Y6dg
    Aug 15, 2023
    63
    @jiangwei2222 #52 😂 抱歉没看到 docker 说明,可以麻烦发一下链接吗
    QUC062IzY3M1Y6dg
    QUC062IzY3M1Y6dg
    Aug 15, 2023
    64
    @jiangwei2222 #52 看到了多谢
    1044523901
    1044523901
    Aug 15, 2023
    65
    等一个 docker 版本
    shermie
    shermie
    Aug 15, 2023
    66
    @jiangwei2222 是的 需要这个功能 直接读库 一个 GET 请求 传账号密码 返回文本
    AutumnVerse
    AutumnVerse
    OP
    Aug 15, 2023 via Android
    67
    @xmsumi
    @shermie
    @cheung github 的项目 wiki 里面补充后端接口了。不过目前接口都是为浏览器设计的,所有请求需要先调 login 接口拿登陆 cookie ,拿到登录 cookie 后调用后续的接口
    qinfengge
    qinfengge
    Aug 15, 2023
    68
    同等一个 docker 版本
    shermie
    shermie
    Aug 15, 2023
    69
    @jiangwei2222 强啊 够了
    bitkuang8
    bitkuang8
    Aug 16, 2023
    70
    star~
    good1uck
    good1uck
    Aug 17, 2023 via Android
    71
    请问和 qq 邮箱相比优势在哪?
    baiduyixia
    baiduyixia
    Aug 21, 2023
    72
    想问问 centos 系统怎么安装??能否出个教程?
    AutumnVerse
    AutumnVerse
    OP
    Aug 22, 2023
    73
    @baiduyixia 3 行命令就运行起来了

    wget https://github.com/Jinnrry/PMail/releases/download/V2.0.2/pmail_linux_amd64
    chmod +x pmail_linux_amd64
    ./pmail_linux_amd64
    AutumnVerse
    AutumnVerse
    OP
    Aug 22, 2023
    74
    @good1uck qq 域名邮箱、outlook 个人域名邮箱目前都停止服务了,写这个出来就是为了替代这两个的。至于优势的话,目前没有任何优势。非要说的话,可以自己定制开发、数据自己存储,就这点优势吧
    baiduyixia
    baiduyixia
    Aug 22, 2023
    75
    @jiangwei2222 80 端口已经被占用了,如何修改使用别的端口?
    intermission
    intermission
    Aug 27, 2023
    76
    我的话,是直接在飞书上创建了一个企业 [没有认证的那种] ,然后就可以初始化自己的域名邮箱了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2429 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 116ms · UTC 12:16 · PVG 20:16 · LAX 04:16 · JFK 07:16
    ♥ Do have faith in what you're doing.