Docker搭建免费邮箱服务器

发布日期: 2021-01-07 20:42:58 作者: Stephen 评论: 9

EwoMail是基于Linux的开源邮件服务器,支持一键搭建,集成了众多优秀稳定的组件,是一个快速部署、简单高效、安全稳定的邮件解决方案,支持电脑和手机的客户端,适合个人或邮箱功能需求少的企业。

非常稳定:在不改动邮件服务器软件配置的情况下,基本不需要维护,简单的故障重启服务器即可恢复。

搭建邮箱环境

容器配置

docker-compose.yml

  mail:
    image: bestwu/ewomailserver
    hostname: mail.stephen520.cn
    container_name: mail
    restart: always
    ports:
      - "25:25"
      - "143:143"
      - "587:587"
      - "993:993"
      - "109:109"
      - "110:110"
      - "465:465"
      - "995:995"
      - "80:80"
      - "8080:8080"
    volumes:
      - ./mysql:/ewomail/mysql/data
      - ./vmail:/ewomail/mail
      - ./rainloop:/ewomail/www/rainloop/data
      - ./ssl/certs/:/etc/ssl/certs/
      - ./ssl/private/:/etc/ssl/private/
      - ./ssl/dkim/:/ewomail/dkim/

可配置参数

  • MYSQL_ROOT_PASSWORD:mysql数据库root密码,默认:mysql
  • MYSQL_MAIL_PASSWORD:mysql数据库ewomail密码,默认:123456
  • URL:网站链接,后面不要加/线
  • WEBMAIL_URL:邮件系统链接,后面不要加/线
  • TITLE:用户邮箱标题
  • COPYRIGHT: 邮箱管理后台网站版权
  • ICP:邮箱管理后台网站备案号
  • LANGUAGE:语言选择,默认:zh_CN

构建容器

docker-compose up -d

如果容器启动失败,发现25端口被占用,执行以下命令:

systemctl stop postfix

关闭10024端口

进入容器修改配置

docker exec -it mail bash

vi /etc/postfix/main.cf

注释以下行:

# content_filter = smtp-amavis:[127.0.0.1]:10024

域名解析

设置DNS

类型 主机 记录值
A mail 127.0.0.1
TXT @ v=spf1 127.0.0.1 -all
CNAME imap mail.stephen520.cn
CNAME smtp mail.stephen520.cn
CNAME pop mail.stephen520.cn
CNAME pop3 mail.stephen520.cn
MX @ mail.stephen520.cn | 10

127.0.0.1 改为自己的服务器IP地址

设置DKIM

DKIM是电子邮件验证标准,域名密钥识别邮件标准,主要是用来防止被判定为垃圾邮件。

每个域名都需要添加一个dkim的key,EwoMail默认安装后已自动添加主域名dkim,只需要设置好dkim的dns即可。

获取DKIM KEY

docker exec mail amavisd showkeys

复制输出的信息,打开 http://www.ewomail.com/list-20.html 整理DKIM

设置DNS

类型 主机 记录值
TXT dkim._domainkey v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC08urOp7qSWT+TD5/dFyx/3icd7Xzua4wHjGTRcvnFw3L4ResosTtqMSPJpibBKuTtbStYnkwoYUfIkU7/G/jNekXXbYgFU3M2Y05WPE4J8RG1KY7NOsvxbywFonsYKddxzJowP6USXHeeAvtAy18GLY/OH4PLpUf+V2b6XKlZ1QIDAQAB

配置安全组

在云服务器控制台配置安全组,打开以上容器监听的端口,并关闭防火墙

完成

管理后台

http://mail.stephen520.cn:8080

默认用户: admin

默认密码: ewomail123

Rainloop管理端

http://mail.stephen520.cn/?admin

默认用户: admin

默认密码: 12345

Rainloop用户端

http://mail.stephen520.cn

自定义证书

映射路径

/etc/ssl/certs/dovecot.pem
/etc/ssl/private/dovecot.pem
/ewomail/dkim/mail.pem

相关链接

Docker Hubhttps://hub.docker.com/r/bestwu/ewomail

Giteehttps://gitee.com/laowu5/EwoMail

官网http://www.ewomail.com/

wangtianqaing 2年前
你好,可以加个联系方式学习一下吗? 目前已经搭建完成域名替换不生效(已重启容器),外网收发不了邮件
博主 2年前
@ wangtianqaing 关于博客里有联系方式
hzbb 3年前
报错:10024
hzbb 3年前
可以发邮件,但是收不了邮件,foxmail也登录不了,日志报错100024,不知道什么原因,求大佬!!!!!!
博主 3年前
@ hzbb 检查一下域名解析有没有配置正确呢
hzbb 3年前
@ Stephen 非常感谢你的回复,我检查了一下我的域名解析是没有错了。telnet端口也是通的,查找了一下资料发现是这个原因"错误原因:10024端口跑的服务主要用于ewomail中反垃圾反病毒作用,然而docker镜像中没有集成,所以会无法接收到邮件。" 现在正在寻找解决的方法
杜老师说 3年前
阿里云等服务商把25端口给禁了,现在这种容器只能本地玩了!
博主 3年前
@ 杜老师说 我用的华为云,25端口没有禁,阿里云和腾讯云可以关闭25端口
博主 3年前
@ 杜老师说 华为云可以成功收发外部邮件,或者申请SSL证书,通过465端口