参考资料:
利用Docker自建多功能加密邮件服务器
docker-mailserver git网址
Installation-Examples
安装
(安装docker的指令不太确定,如果不行的话上网找吧)1
2
3
4
5
6
7
8
9sudo apt-get update && \
sudo apt install docker -y && \
sudo apt install docker-compose -y && \
sudo apt install dovecot-core -y && \
sudo apt-get install software-properties-common -y && \
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update && \
sudo apt-get install certbot -y
拉取配置文件
1 | curl -o setup.sh https://raw.githubusercontent.com/tomav/docker-mailserver/master/setup.sh; chmod a+x ./setup.sh |
hostname和domainname最终要拼成主机名
port加入465
修改拉取后的.env文件进行配置,配置属性详情见此
docker-compose中也需要修改volume的映射位置,包括文件存储位置和证书位置(如加入’/etc/letsencrypt:/etc/letsencrypt’)
启动容器进行初始化
docker-compose up -d mail
可能出现的错误:Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
若存在上述错误,尝试将用户加入docker组,然后重启终端sudo gpasswd -a ${USER} docker
)
DNS域名解析:
sudo ./setup.sh config dkim
如果未出现config文件夹,可能需要先添加一个账户后重试
生成的字符串长度可以在dkim后面增加参数(如sudo ./setup.sh config dkim 200
)进行限制
复制config/opendkim/keys/domain.tld/mail.txt下内容,将引号内字符串拼接后用于设置DNS
类型为TXT,记录名为mail._domainkey,记录值为拼接后字符串
类型为MX,记录名为@,记录值”mail.(你的域名)”(如”mail.abc.cn”,下面的域名以此为例)
类型为A,记录名为mail,记录值为(服务器的IP)
证书(域名以”mail.abc.cn”,为例)
certbot certonly --standalone -d mail.abc.cn
之后会要求你输入邮箱来获取安全信息等,填入邮箱即可。还会问你是否接受推送,这个看个人意愿选择吧。
证书续期crontab -e
打开定时任务设置面板,按i进入编辑模式,粘贴进这段代码即:0 5 * * 1 /usr/bin/certbot renew --quiet
可每周一凌晨5点0分给证书续期
注册邮箱(邮箱名字以”wuny@abc.cn“为例,密码以yourpassword为例)
sudo ./setup.sh email add wuny@abc.cn yourpassword