環境:
系統:centos7.6
內網ip:172.16.0.3
---------------------------------------------初始配置-------------------------------------------------------------
1.修改主機名
將主機名更改為郵件服務器域名mail.test.com
vi /etc/hostname
2.關閉防火牆並禁止開機啟動
systemctl stop firewalld systemctl disable firewalld
3.關閉selinux,將未注釋的SELINUX行的值改為disabled
vi /etc/sysconfig/selinux
---------------------------------------------搭建DNS環境域名解析,用於解析postfix地址-------------------------------------------------------------
4.安裝DNS服務器
yum install -y bind
5.修改配置文件
修改DNS主配置文件
vi /etc/named.conf
listen-on port 53 { 172.16.0.3; }; allow-query { any; };
修改子配置文件
vi /etc/named.rfc1912.zones
在最后添加一個正向和一個反向解析區域
zone "test.com" IN { type master; file "test.com.zone"; }; zone "0.16.172.in-addr.arpa" { type master; file "test.com.local"; };
進入DNS服務器區域配置文件目錄,復制模板區域配置文件為指定區域配置文件。注:一定要保留源文件權限,如果未保留,須將屬組改為named。
cd /var/named/ cp -p named.localhost test.com.zone cp -p named.localhost test.com.local
編輯正向區域配置文件,修改並添加以下行
vi test.com.zone
NS @ A 172.16.0.3 MX 10 mail.test.com mail A 172.16.0.3 AAAA ::1
編輯反向區域配置文件,修改並添加以下行
vi test.com.local
NS @ A 172.16.0.3 MX 10 mail.test.com 3 PTR mail.test.com AAAA ::1
重新啟動DNS域名解析服務器
systemctl restart named
安裝nslookup命令測試dns能否解析成功
yum install -y bind-utils
給本機的DNS增加一個指向自己的dns服務器
vi /etc/resolv.conf
nameserver 172.16.0.3
解析郵件服務器地址,顯示如下則表示成功
nslookup mail.test.com
Server: 183.60.83.19 Address: 183.60.83.19#53 Non-authoritative answer: Name: mail.test.com Address: 69.172.200.109
---------------------------------------------安裝postfix服務器並進行配置-------------------------------------------------------------
檢查系統是否已經安裝了postfix服務器
rpm -q postfix
如果沒有安裝,安裝了就跳過
yum install postfix -y
編輯postfix的配置文件,查找並修改對應配置項
vi /etc/postfix/main.cf
主要需要修改一下這些配置項
myhostname = mail.test.com //本機主機名 mydomain = test.com //服務器域名 myorigin = $mydomain //初始域名 inet_interfaces = all //監聽接口 inet_protocols = all //監聽網絡版本,可以不改 mydestination = $myhostname, $mydomain //目標域 home_mailbox = Maildir/ //郵件目錄,在用戶家目錄下
檢查配置文件是否有語法錯誤
postfix check
查看postfix非默認配置
postconf -n
重新啟動postfix服務器
systemctl restart postfix
---------------------------------------------郵件服務器簡單發信測試-------------------------------------------------------------
添加郵件賬號組
groupadd mailusers
添加郵箱賬號
useradd -g mailusers -s /sbin/nologin jack passwd jack useradd -g mailusers -s /sbin/nologin tom passwd tom
安裝遠程登錄插件,用於登錄25端口測試
yum install -y telnet
遠程登錄25端口,如報錯連接不上,重啟postfix
telnet mail.test.com 25
如果輸出以下內容表示登錄成功
Trying ::1... Connected to mail.test.com. Escape character is '^]'. 220 mail.test.com ESMTP Postfix
輸入以下內容用於測試
[root@mail ~]# telnet mail.test.com 25 Trying ::1... Connected to mail.test.com. Escape character is '^]'. 220 mail.test.com ESMTP Postfix helo mail.test.com 250 mail.test.com mail from:jack@test.com 250 2.1.0 Ok rcpt to:tom@test.com 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> i am jack!! . 250 2.0.0 Ok: queued as A64EF604C7 quit 221 2.0.0 Bye Connection closed by foreign host.
以上內容解析
helo mail.aa.com //聲明本機的主機名 mail from:jack@aa.com //聲明發件人地址 rcpt to:tom@aa.com //聲明收件人地址 data //寫正文 i am jack!! . //以.結尾 quit // 退出
查看tom接收的郵件目錄下的郵件
ls /home/tom/Maildir/new/
查看tom接收的郵件內容
cat /home/tom/Maildir/new/1586512307.Vfd01I101059M375553.mail.test.com
這個只能超級管理員查看接收的郵件內容