Shell 腳本自動安裝公司內部郵箱服務器--Postfix

簡介:

Postfix是Wietse Venema在IBM的GPL協議之下開發的MTA(郵件傳輸代理)軟件。postfix是Wietse Venema想要爲使用最普遍的sendmail提供替代品的一個嘗試。在Internet世界中,大部分的電子郵件都是經過sendmail來投遞的,大約有100萬用戶使用sendmail,天天投遞上億封郵件。這真是一個讓人吃驚的數字。Postfix試圖更快、更容易管理、更安全,同時還與sendmail保持足夠的兼容性。linux

搭建企業郵箱的好處:

1.全面統一企業形象,方便企業形象的推廣,同時能夠方便產品的推廣。
2.對於員工流動,形成信息外泄和資源沒法保留提供保證;若是員工使用我的郵箱,離職時必然帶走郵箱;
3.便於企業統一管理,設置權限和分文別類,方便企業內部信息交流,溝通和協助;
4.優於我的郵箱的穩定性,安全性及其服務性;
5.有海外轉發服務器,這樣對於國外郵件的往來不容易丟失和退回郵件。
6.還有一些其它功能,好比防止病毒、手機短信提醒、郵件傳真、備份、監控windows

腳本環境

1.linux centos 7 系統
2.系統可鏈接外網
3.網絡模式:自動橋接模式centos

實驗步驟

1.上傳postfix腳本到Linux系統/root目錄下

chmod +x *.sh 添加執行權限安全

2.腳本postfix.sh詳解

#!/bin/bashbash

#自動本機獲取網段
net=`ifconfig ens33 | grep "netmask" | awk '{print $2}' | cut -c 1-9`
#自動獲取本機ip
ip=`ifconfig ens33 | grep "netmask" | awk '{print $2}'`服務器

#下載postfix相關軟件包
down_postfix()
{
#關閉防火牆,安全性
systemctl stop firewalld
setenforce 0
echo -e "\033\t[34m 正在下載postfix相關軟件包 ... \033[0m" && sleep 1
yum install -y bind postfix dovecot
}網絡

#修改相關配置文件
setup_file()
{
echo -e "\033\t[34m 正在修改DNS相關配置文件 ... \033[0m" && sleep 1
#編輯DNS主配置文件
#容許監聽全部端口
sed -i "13s/127.0.0.1/any/" /etc/named.conf
#容許接收全部網段
sed -i "21s/localhost/any/" /etc/named.confdom

#修改編輯區域配置文件
#定義域名及區域數據配置文件名
sed -i "24i zone \"\benet.com\"\ IN {\n\
type master;\n\
file \"\benet.com.zone\"\;\n\
allow-update { none; };\n\
};" /etc/named.rfc1912.zoneside

#新建正向解析文件
cp -p /var/named/named.localhost /var/named/benet.com.zone
#添加管理員郵箱
sed -i "2s/rname.invalid./admin/" /var/named/benet.com.zone
#添加本機ip地址
sed -i "9s/127.0.0.1/$ip/" /var/named/benet.com.zone
#指定郵件交換記錄
sed -i "10c IN MX 5 mail.benet.com." /var/named/benet.com.zone
#解析主機地址
echo "mail IN A $ip" >>/var/named/benet.com.zone
#添加本機解析hosts文件
echo "$ip mail.benet.com" >>/etc/hosts函數

#修改postfix相關配置文件
echo -e "\033\t[34m 正在修改postfix相關配置文件 ... \033[0m" && sleep 1
#修改發信服務器主機名
sed -i "75c myhostname = mail.benet.com" /etc/postfix/main.cf
#修改發信服務器域名
sed -i "83c mydomain = benet.com" /etc/postfix/main.cf
#修改發信人地址郵件域名
sed -i "99s/#//" /etc/postfix/main.cf
#開啓監聽ip地址爲all
sed -i "113s/#//" /etc/postfix/main.cf
#關閉只監聽本地ip
sed -i "116s/^/#/" /etc/postfix/main.cf
#設置郵件存放位置
sed -i "419s/#//" /etc/postfix/main.cf
#修改收件人地址和郵件域名
sed -i '164c mydestination = $mydomain, $myhostname' /etc/postfix/main.cf

#修改devocot相關配置文件
echo -e "\033\t[34m 正在修改devocot相關配置文件 ... \033[0m" && sleep 1
#開啓收件服務
sed -i "24s/#/ /" /etc/dovecot/dovecot.conf
#設置容許收件的網段
sed -i "48c login_trusted_networks = $net.0/24" /etc/dovecot/dovecot.conf
#開啓郵箱的位置及格式
sed -i "24s/#/ /" /etc/dovecot/conf.d/10-mail.conf
}

#重啓全部服務
restart_service()
{
#重啓dns服務
systemctl restart named
#重啓發件postfix服務
systemctl restart postfix
#重啓收件dovecot服務
systemctl restart dovecot
}

#函數彙總
main()
{
down_postfix && setup_file && restart_service
}

#執行全部函數
main

3.驗證腳本

1.執行腳本

./postfix.sh #運行腳本

2.查看服務端口

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

3.建立測試用戶zhangsan,lisi

groupadd mailusers #添加用戶郵箱測試
useradd -g mailusers -s /sbin/nologin zhangsan #添加zhangsan 用戶
useradd -g mailusers -s /sbin/nologin lisi #添加lisi用戶
passwd zhangsan #設置zhangsan密碼
passwd lisi #設置lisi密碼

知識點講解:

useradd -g mailusers -s /sbin/nologin zhangsan 是添加zhangsan用戶加入組裏,不登陸linux系統
而useradd zhangsan 是能夠登陸linux系統的
2者建立的用戶均可以登陸郵箱,不一樣建立方式的,也能夠相互發送郵件,郵箱方面不受影響!

3.安裝Foxmail

1.官網下載地址:https://www.foxmail.com/ ,選擇windows版本或mac版本。

2.先設置本地電腦dns服務器地址
Shell 腳本自動安裝公司內部郵箱服務器--Postfix

備註:192.168.0.1 是電腦是本地路由網關地址,爲了鏈接外網
192.168.0.200 是dns服務器地址,爲了解析mail.benet.com 域名

3.安裝好Foxmail後運行,設置帳號,點擊手動設置

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

4.設置郵箱帳號,密碼,pop服務器,SMTP服務器,其餘默認便可,點擊建立,完成

Shell 腳本自動安裝公司內部郵箱服務器--Postfix
Shell 腳本自動安裝公司內部郵箱服務器--Postfix

5.在zhangsan帳戶下右擊設置,建立lisi用戶,設置同zhangsan用戶

Shell 腳本自動安裝公司內部郵箱服務器--Postfix
Shell 腳本自動安裝公司內部郵箱服務器--Postfix

6.zhangsan用戶發信給lisi用戶

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

7.lisi收信查看

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

8.lisi回覆測試

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

9.zhangsan收信測試

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

坑點講解

以上操做教程只用於虛擬機演示,作實驗部分。如果真實公司搭建內網郵箱,是不會這麼順利的,會出現不少問題

問題一:有的電腦郵箱順利登錄,但有的電腦郵箱登錄失敗

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

問題二:一開始郵件收發都正常,過一段時間後,發現郵件發送失敗或收件失敗。

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

緣由分析:出現這樣問題的緣由多是由於域名解析故障或本身搭建的dns服務器解析不穩定

解決方法:

方法1.添加本地hosts文件解析

Shell 腳本自動安裝公司內部郵箱服務器--Postfix
Shell 腳本自動安裝公司內部郵箱服務器--Postfix

方法2.設置服務器時填寫IP地址代替域名

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

通過屢次測試,我發現了最方便,最穩定的方案就是如下4步:

1.搭建postfix服務時直接不用dns服務

2.在本地也不填寫dns服務器地址,自動獲取便可

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

3.添加本地hosts文件解析(見方法1圖)

4.設置服務器時填寫IP地址代替域名(全部用戶必作步驟)

Shell 腳本自動安裝公司內部郵箱服務器--Postfix

備註:1,2,3步是選作步驟,4是必作步驟,爲了保險,4步都操做一下最好!

其餘坑點:

Mac系統登陸失敗,這是因爲mac版本foxmail和Windows版本帳戶設置不同

解決方法:填寫以下圖帳戶信息
Shell 腳本自動安裝公司內部郵箱服務器--Postfix

總結:

1.公司局域網搭建郵箱服務器推薦使用postfix.
2.腳本文件不建議直接複製,可下載個人資料 https://down.51cto.com/data/24640533.文中搭建的郵箱服務器即爲公司內部服務器,只能在內網中使用,若要外網使用,須要申請外網域名。

相關文章
相關標籤/搜索