美文网首页
Poste.io搭建邮箱邮局服务

Poste.io搭建邮箱邮局服务

作者: 一剑无血冯稀饭 | 来源:发表于2024-09-03 09:44 被阅读0次

    介绍

    poste.io 邮件服务基于 Docker 搭建,用的是 Haraka + Dovecot + SQLite 邮件系统,能够轻易实现邮件收发、多域名控制、邮箱容量控制、邮件杀毒、邮件过滤以及 Webmail 等基础功能。同时,Poste 还提供了投递统计分析、客户端自动适配、一键安装SSL、邮件转发、邮件别名、Catch-All 等相当有用的功能。

    全文使用your-domain.com和/home/postemail为域名和文件位置,注意替换。

    dns配置

    为了能够正常使用邮件服务,需要配置域名的 MX 记录,将邮件服务器的地址指向你的域名。下文以mail.your-domain.com为例。

    记录类型 主机记录 记录值
    MX @.your-domain.com mail.your-domain.com
    TXT @.your-domain.com v=spf1 mx ~all
    A mail a.b.c.d (your ip)
    TXT _dmarc v=DMARC1; p=none; pct=100; rua=mailto:mail@your-domain.com
    CNAME imap mail.your-domain.com
    CNAME smtp mail.your-domain.com
    CNAME pop mail.your-domain.com
    TXT _s20160910378._domainkey.your-domain.com k=rsa;p=MII………

    新建yaml文件

    docker一键配置脚本, 注意修改80端口的映射, 邮箱的地址, 以及文件配置存储的位置

    services:
      mailserver:
        image: analogic/poste.io
        hostname: your-domain.com
        ports:
          - "25:25"
          - "110:110"
          - "143:143"
          - "587:587"
          - "993:993"
          - "995:995"
          - "4190:4190"
          - "465:465"
          - "8064:80"
          - "8843:443"
        environment:
          - LETSENCRYPT_EMAIL=admin@your-domain.com
          - LETSENCRYPT_HOST=mail.your-domain.com
          - VIRTUAL_HOST=mail.your-domain.com
          - DISABLE_CLAMAV=TRUE
          - TZ=Asia/Shanghai
          - HTTPS=OFF
        volumes:
          - /etc/localtime:/etc/localtime:ro
          - /home/postemail:/data
    

    配置nginx反向代理

    注意修改端口, 证书可以先使用自己申请的免费的

    # mail
      server {
        listen 443 ssl;
        server_name mail.your-domain.com;
        ssl_certificate /www/server/nginx/cert/mail/*.pem;
        ssl_certificate_key /www/server/nginx/cert/mail/*.key;
        # ssl
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:40m;
        ssl_session_timeout 5m;
        ssl_session_tickets off;
    
        # OCSP stapling
        ssl_stapling on;
        ssl_stapling_verify on;
    
        add_header Strict-Transport-Security "max-age=63072000";
    
        location / {
          proxy_pass http://a.b.c.d:8064;
        }
      }
      server {
        server_name mail.your-domain.com;
        listen 80;
        # rewrite ^(.*) https://$host$1 permanent;
    
        location / {
          proxy_pass http://a.b.c.d:8064;
        }
      }
    

    运行服务

    docker compose -p postemail up -d
    

    配置poste.io

    通过浏览器访问https://mail.your-domain.com,进入poste.io的配置页面,按照提示进行配置即可。

    1.1 访问 Virtual domains -> 点击域名 -> DKIM key -> 点击 regenerate key -> 将生成的in txt后面的引号里的内容按照上面的表填写到dns解析中, 不含引号
    微信截图_20240904093056.png
    1.2 访问 System settings -> TLS Certificate -> Change certificate settings, 按照以下输入
    微信截图_20240904091123.png
    1.3 点击save changes获取证书, 等待显示以下内容, 证书获取成功, 即可设置其它
    LEScript.INFO: Done !!§§!
    

    设置安全性, 如果不需兼容旧的非加密的程序或邮件客户端, 可以跳过

    1.1 停止服务
    docker compose down
    
    1.2 修改/home/postemail/server.ini文件
    brand_name = "xxxx" #此处可以修改部分页面显示名称
    auth_required = 0 #此处默认为1,修改为0,客户端不强制检查ssl
    
    1.3 启动服务
    docker compose -p postemail up -d
    

    设置nginx证书

    将nginx配置改为/home/postemail/ssl/letsencrypt/mail.your-domain.com/目录, 如下

    ssl_certificate /home/postemail/ssl/letsencrypt/mail.your-domain.com/fullchain.pem;
    ssl_certificate_key /home/postemail/ssl/letsencrypt/mail.your-domain.com/private.pem;
    

    最后的设置

    1.1 打开网站,访问 Server status -> Connection diagnostics
    微信截图_20240904094151.png
    1.2 邮箱相关端口全绿即可,可以正常使用邮箱服务了

    相关文章

      网友评论

          本文标题:Poste.io搭建邮箱邮局服务

          本文链接:https://www.haomeiwen.com/subject/ugjkljtx.html