mailcow 開源的電子郵件伺服器

           BUBU 由於現在公司想要自建電子郵件伺服器,又卡在於經費問題,功能要求度不高,只要能基本收發信就可以了。目前國外還滿多開套開源的軟體,這一套是結合目前很熱門 Docker  容器結合成的一個服務。

系統環境是:

CentOS 7

第一步:安裝 CentOS 7 就先把主機名稱修改成

例: mailcow.xxx.net 也可以改成自己想要取的主機名稱。

系統更新:

yum update -y

安裝系統基本的套件

yum install vim git wget openssh* sudo -y

 

第二步:系統更新完後開始安裝 mailcow 郵件伺服器

安裝 Docker 服務

curl -sSL https://get.docker.com/ | CHANNEL=stable sh
安裝完成後啟用 Docker 開機自動啟動及服務啟動 例如: CentoOS 7 
systemctl enable docker.service ; systemctl start docker.service

安裝  Docker-Compose 

curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

 

第三步:到 Github 取最新版的源碼回來,並且確認 umask 是否有 0022 
umask
0022
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized

 

第四步:產生設定檔 FQDN 主機名稱取為 mail.xxx.net 或者 xxx.xxx.local ,此設定是 Docker  主機名稱,不可跟本機名稱重複不然系統會有異常並且無法正常收發信件服務。
./generate_config.sh
Press enter to confirm the detected value '[value]' where applicable or enter a custom value.
Mail server hostname (FQDN) - this is not your mail domain, but your mail servers hostname:
Timezone [Asia/Taipei]: Asia/Taipei

 

fqdn.png

 

第五步:在安裝之前先把系統已有預先安裝的 Postfix 這個 MTA 服務先註解掉,並且指向 Docker 服務。
vim /etc/postfix/master.cf
裡面將下面的
smtp      inet  n       -       -       -       -       smtpd
修改成
#smtp      inet  n       -       -       -       -       smtpd
然後存檔
:wq

Furthermore, to relay over a dockerized mailcow, you may want to add 172.22.1.1 as relayhost and remove the Docker interface from "inet_interfaces":

postconf -e 'relayhost = 172.22.1.1'
postconf -e "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128"
postconf -e "inet_interfaces = loopback-only"
postconf -e "relay_transport = relay"
postconf -e "default_transport = smtp"


設定完之後重啟 Postfix

systemctl restart postfix

 

第六步:開始安裝 mailcow 服務
docker-compose pull
docker-compose up -d

 

第七步:安裝完成後,開啟瀏灠器輸入 https://ip ,預設帳號為:admin 密碼為:moohoo。這樣子就可以開始使用了

 

 

參考相關網頁: