背景

官网没提供Docker版本 直接部署在宿主机器且安装Mysql数据库。

对此打包1.5版本 weomail 为docker镜像、并实现支持自定义数据库地址

使用步骤

当前已打包好镜像到 docker hub中、直接下载使用即可。请提前保证服务器开放25端口。

可运行命令  telnet smtp.qq.com 25 查看是否开放25端口。 话不多说直接开始使用步骤

DockerHub 镜像地址icon-default.png?t=N7T8https://hub.docker.com/r/lcbox229/ewomail

Dockerfile项目地址icon-default.png?t=N7T8https://gitee.com/public-15jk2/ewomail

版本更新
| 版本     | 时间       | 更新内容                                          |
|--------|----------|-----------------------------------------------|
| latest | x        | 最新版本号                                         |
| 1.0    | 20220331 | 项目初始化                                         |
| 1.1    | 20220331 | 1、更新时区为+8。2、更改默认Service拓展模块的路径引用。             |
| 2.0    | 20240120 | 1、更改打包方式 保存项目到Gitee 2、移除root密码 |

步骤1:

下载docker镜像

docker pull lcbox229/ewomail

步骤2:

1.1、启动镜像 docker run 命令。当前选择编写sh脚本来快速启动、根据需要启动容器即可。

使用 vim setup.sh 命令修改好环境变量参数后插入sh脚本

#!/bin/bash

name='mail'
image='lcbox229/ewomail:latest'
key_state=-1

docker_run() {
  # 端口映射
  port="
  -p 9005:9005
  -p 10024:10024
  -p 10025:10025
  -p 8000:8000
  -p 7000:7000
  -p 8010:8010
  -p 7010:7010
  -p 25:25
  -p 143:143
  -p 993:993
  -p 995:995
  -p 587:587
  -p 110:110
  -p 465:465
  "

  # 环境变量
  echo "
  DOMAIN=xxx.com
  DB_HOST=127.0.0.1
  DB_PORT=3306
  DB_MAIL_NAME=mailDB
  DB_MAIL_USERNAME=mailUSER
  DB_MAIL_PWD=123aa456
  URL=0.0.0.1:8010
  WEBMAIL_URL=0.0.0.1:8000
  "  > environment.ini

  # 挂载路径
  volume="
  -v /sys/fs/cgroup:/sys/fs/cgroup:ro
  -v ./environment.ini:/environment.ini
  "
  docker run -d --name $name $volume $port  --env-file environment.ini  --privileged=true $image

  docker logs $name
}


tools_tip(){
   echo "
   ###############DKIM解析操作脚本###################
   # 99: 创建运行 Docker Mail 容器
   # 2: 初始化 DKIM 配置
   # 3: 查看 DKIM 配置值
   # 4: 验证域名DKIM 解析
   # 0: 退出
   ###############################################
   "
}

dkim_show(){
  docker exec $name /tools/dkim.sh 2
}

dkim_init(){
  docker exec $name /tools/dkim.sh 99
}

dkim_test(){
  docker exec $name /tools/dkim.sh 3
}

while [ $key_state != 0 ]; do
   tools_tip

   read -p "选择功能项:" key;

   case $key in
   99)
     docker_run
     ;;
   2)
     dkim_init
     ;;
   3)
     dkim_show
     ;;
   4)
     dkim_test
     ;;
   0)
     exit
     ;;
   -99)
     docker stop $name && docker rm $name
     ;;
   *)
     echo "请输入功能列表序号"
   esac

done

环境变量介绍
DOMAIN
邮箱域名
DB_HOST
Mysql 数据地址
DB_PORT
Mysql数据库端口
DB_ROOT_PWD
Mysql数据root密码
URL
前端管理地址需与端口映射保持一致,最后不要带/
WEBMAIL_URL
后端管理地址,最后不要带/
DB_MAIL_NAME
邮箱mysql待生成名称
DB_MAIL_USERNAME
邮箱mysql待生成用户名

1.2、保存后直接运行脚本

sh setup.sh

根据需要启动即可。

 步骤3

配置域名 dkim._domaikey 解析、待添加解析完成后查看是否解析正确

 

完成后根据配置的 URL xxx:8000 和 WEBMAIL_URL xxxx.8010 地址 直接登录即可。后台默认账号密码为 :admin  ewomail123 

结束语

简单打包ewomail 为docker镜像。当前未优化镜像。 当前默认拓展模块需满足ewomail-admin项目框架,需自行查看官方代码编写。个人写的拓展接口就暂不打包到容器中了。有问题也可联系 15jk2@15jk2.com或私信,本人也是小白,但会最大程度解决 。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐