Linux 快速搭建免费邮件服务器(docker)

喜你入骨 提交于 2020-01-23 10:40:43

Docker下搭建Ewomail邮件服务器

EwoMail 开源企业邮件系统 的docker镜像 https://hub.docker.com/r/bestwu/ewomail/

注意:mail.ewomail.com 换成自己的域名

可配置参数

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

第一步:安装运行docker

安装运行容器

docker search EwoMail
docker pull bestwu/ewomail

docker run  -d -h mail.ewomail.com --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 80:80 \
  -p 8080: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/ewomailserver

查看容器

docker ps

必须出现bestwu/ewomailserver容器才可以。

进入虚拟机

docker exec -it ewomail /bin/bash

第二步:登录管理中心 配置

参考官网http://doc.ewomail.com/docs/ewomail/changguipeizhi
使用EwoMail搭建属于自己的个人邮件服务器——超详细图文教程
参考: https://blog.csdn.net/qq_41692307/article/details/88318365

运行成功后访问
邮箱管理后台http://localhost:8080
默认用户: admin
默认密码: ewomail123
Rainloop 管理端 http://localhost/?admin
默认用户: admin
默认密码: 12345
Rainloop 用户端 http://localhost

主要修改一下内容:

  1. 后台http://localhost:8080 修改admin的密码
  2. 创建邮箱账号
  3. Rainloop 管理端 http://localhost/?admin 修改默认密码
  4. 设置域名解析
    域名DNS设置:

以万网的DNS设置为例子
在这里插入图片描述

将mail.ewomail.cn 改成你的域名

红色部分请改为你的服务器IP

DKIM设置

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

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

获取dkim key

执行查看代码

docker exec ewomail amavisd showkeys

若安装成功会输出以下信息:

; key#1, domain ewomail.com, /ewomail/dkim/mail.pem
dkim._domainkey.ewomail.com. 3600 TXT (
“v=DKIM1; p=”
“MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC09HcLpwcdgWtzkrZDBRBYfQo5”
“prSRyedA72wiD3vFGXLWHyy0KOXp+uwvkNzaBpvU2DDKNTTPdo1pNWtl/LkpRCVq”
“+uRG+LhZBuic0GpDJnD7HckUbwsyGktb/6g5ogScNtPWB+pegENFDl8BuFn3zDiD”
“nnGxbpj3emSxDlskzwIDAQAB”)

整理后,如上图中设置DNS

最终测试结果:测试发现只能接受邮件发送不了邮件。

问题分析:
进入容器查看,日志文件 /var/log/maillog

docker exec -it ewomail /bin/bash

postfix/smtp[1480]: connect to mx3.qq.com[121.51.19.150]:25: Connection timed out
发送发不出去是因为连接 qq 服务器的25端口连接不上。
分别测试本地telnet mx3.qq.com 25,腾讯云 telnet mx3.qq.com 25。
证实确实是腾讯云封杀了25端口,即使你安全组开放了所有端口(我已开放了所有端口)。。

结论:
同网上描述 参考URL: https://segmentfault.com/q/1010000013935348
阿里腾讯云都默认封杀25出口!大陆地区大部分的IDC都是封禁了25口,就是为了防止滥发垃圾邮件,导致IP段被ban

iRedMail

官网: https://docs.iredmail.org/install.iredmail.on.rhel-zh_CN.html

iRedMail未亲测!

iRedMail简介

iredmail是基于开源的postfix、dovecot、openldap、roundcube等软件,加上作者开发的安装包、配置文件、管理工具(都开源),可快速搭建一个支持SMTP、POP3、IMAP等协议,提供WebMail和Web管理界面的邮件系统

linux安装开源邮件服务器iredmail的方法:docker

linux安装开源邮件服务器iredmail的方法:docker
参考URL: https://www.cnblogs.com/shengulong/p/9133466.html

邮件相关基础知识

域名记录类型

  1. A记录
    A记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是说明一个域名对应的IP是多少, 它是域名和IP地址的对应关系,表现形式为 www.contoso.com 192.168.1.1 这就是一个A记录!A记录除了进行域名IP对应以外,还有一个高级用法,可以作为低成本的负载均衡的解决方案,比如说,www.contoso.com 可以创建多个A记录,对应多台物理服务器的IP地址,可以实现基本的流量均衡!)

总结:就是给域名指定一个ip地址,就是我们用到的最多的情况。

  1. MX记录
    全称是邮件交换记录,在使用邮件服务器的时候,MX记录是无可或缺的,比如A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS在定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里!

  2. Cname记录
    又叫别名记录,我们可以这么理解,我们小的时候都会有一个小名,长大了都是学名,那么正规来说学名的符合公安系统的,那个小名只是我们的一个代名词而已,这也存在一个好处,就是比暴漏自己,比如一个网站a.com 在发布的时候,他可以建立一个别名记录,把B.com发不出去,这样不容易被外在用户所察觉!达到隐藏自己的目的!

总结:将域名指向另一个域名,请选择「CNAME」;

参考

Linux 快速搭建免费邮件服务器
参考URL: https://my.oschina.net/u/2310888/blog/866565
postfix 发送邮件问题 Connection timed out
参考URL: https://segmentfault.com/q/1010000013935348

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!