Docker一键安装并运行在后台
参数:
[your-domain]:换成你自己的主机域名。比如mail.xxx.com。
[webmail-port]:映射到80端口的是用于web邮箱前台的端口,可随意修改。
[admin-port]:映射到8080端口的是用于管理后台的端口,可随意修改。
其他端口映射是邮件服务的标准端口不要修改,且需要保证宿主机这些端口被开放。
如果处于内网还要做好端口映射。
docker run -d -h [your-domain] --restart=always \
-p 25:25 \
-p 109:109 \
-p 110:110 \
-p 143:143 \
-p 465:465 \
-p 587:587 \
-p 993:993 \
-p 995:995 \
-p [webmail-port]:80 \
-p [admin-port]:8080 \
-v `pwd`/mysql/:/ewomail/mysql/data/ \
-v `pwd`/vmail/:/ewomail/mail/ \
-v `pwd`/ssl/certs/:/etc/ssl/certs/ \
-v `pwd`/ssl/private/:/etc/ssl/private/ \
-v `pwd`/rainloop:/ewomail/www/rainloop/data \
-v `pwd`/ssl/dkim/:/ewomail/dkim/ \
--name ewomail bestwu/ewomail
管理后台 http://xxxxx:[admin-port]默认密码是admin / ewomail123
邮箱前台 http://xxxxx:[webmail-port]
邮箱前台管理 http://xxxxx:[webmail-port]/?admin 默认密码是admin / 12345
接收不到邮件,不管是本域名的还是其他外部邮箱(2种解决方法)
错误日志报10024端口错误
错误原因:10024端口跑的服务主要用于ewomail中反垃圾反病毒作用,然而docker镜像中没有集成,所以会无法接收到邮件。
- 注释/etc/postfix/main.cf中的
content_filter = smtp-amavis:[127.0.0.1]:10024
cp amavisd.conf.rpmsave amavisd.conf
本域名的邮箱可以互发邮件,也可以接收外部邮件,但不能发送外部邮件
简单调查了一下发现 telnet smtp.163.com 25 根本连不上,而从国内的服务器就可以连上。说明国内的这些主流邮件服务商基本屏蔽了来自海外的25端口连接,应该是为了屏蔽多数垃圾邮件吧。想绕过就得上代理,很麻烦还不稳定,这对邮件服务来说是不能接受的。于是作罢。
继续做了一些测试,结果如下(注意,测试服务器并非租用的云主机而是自建服务器所以25端口本身的出站入站均处于开放状态)
从国内IP连接端口 | 25 | 465 | 587 |
---|---|---|---|
smtp.163.com | ⭕️ | ⭕️ | ⭕️ |
smtp.qq.com | ⭕️ | ⭕️ | ⭕️ |
smtp.gmai.com | ❌ | ❌ | ❌ |
从海外IP连接端口 | 25 | 465 | 587 |
---|---|---|---|
smtp.163.com | ❌ | ⭕️ | ⭕️ |
smtp.qq.com | ❌ | ⭕️ | ⭕️ |
smtp.gmai.com | ❌ | ⭕️ | ⭕️ |
可见,在国内是可以用25端口给国内邮箱发送邮件的。而在海外想给国内邮箱发送邮件则必须使用SSL加密的465或587端口。而想给gmail发送邮件则必须使用SSL加密端口。至于国内服务器想给gmail发送邮件,你得先搞定科学上网的问题。
以后空了再继续研究SSL加密端口怎么弄吧(并不会),暂时先这样了。