Postfix郵件系統
郵件服務器是一種用來負責電子郵件收發管理的設備。它比網絡上的免費郵箱更安全和高效,因此一直是企業公司的必備設備。
本次實驗是由DNS、postfix、dovecot服務共同組建成為郵件服務器
實驗準備
- linux虛擬機(Red Hat Enterprise 6.5)
- 主機IP192.168.175.101
實驗開始
搭建郵箱地址解析(DNS)服務
DNS服務如何搭建,我在之前的文章中有過介紹,本篇中就簡單介紹。
rpm安裝named軟件
- 主配置文件中修改監聽地址和允許解析的主機地址
- 區域配置文件中,設置服務器名稱及區域數據配置文件名稱(配置在正向解析區域)
- 復制模板,修改配置文件,文件復制時,需要註意的是要保留文件的屬組、屬主。(cp -p)
- 指定DNS地址
echo "nameserver 192.168.175.101" >> /etc/resolv.conf
啟動服務並測試解析結果
service named start //啟動dns服務
搭建postfix服務
rpm安裝postfix軟件
修改配置文件//etc/postfix/main.cf
inet_interfaces = all //監聽服務的IP地址 #inet_interfaces = localhost //註釋掉這一行 myhostname = mail.benet.com //郵件服務器主機名 mydomain = benet.com //郵件域名 myorigin = $mydomain //發件人地址郵件域名 mydestination = $mydomain, $myhostname //收件人地址郵件域名 home_mailbox = Maildir/ //郵件存放位置
重啟服務
service postfix restart //重啟postfix‘服務
搭建dovecot服務
rpm安裝軟件
rpm -ivh /mnt/Packages/dovecot-2.0.9-7.el6.x86_64.rpm
修改配置文件/etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp //開啟協議
login_trusted_networks = 192.168.175.0/24 //指定服務器所在網段
修改配置文件/etc/dovecot/conf.d/10-mail.conf,開啟郵箱位置及格式
mail_location = maildir:~/Maildir //去掉行首#即可
收發郵件測試
發送郵件
接收郵件
shell腳本快速搭建郵箱服務器
系統不同腳本編寫也不盡相同,僅供參考
#!/bin/bash
#提供郵件服務
#搭建DNS服務
#安裝軟件
rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
#配置主配置文件
sed -i ‘s/127.0.0.1/any/‘ /etc/named.conf
sed -i ‘s/localhost;/any;/‘ /etc/named.conf
echo "主配置文件修改成功"
#配置區域配置文件
sed -i ‘24c zone "benet.com" IN {\ntype master;\nfile "benet.com.zone";\nallow-update { none; };\n};‘ /etc/named.rfc1912.zones
echo "區域配置文件修改成功"
#配置區域數據配置文件
cp -p /var/named/named.localhost /var/named/benet.com.zone
sed -i ‘s/@ rname.invalid./benet.com. admin.benet.com./‘ /var/named/benet.com.zone
sed -i ‘s/127.0.0.1/192.168.175.101/‘ /var/named/benet.com.zone
sed -i ‘10c IN MX 5 benet.com.\nmail IN A 192.168.175.101‘ /var/named/benet.com.zone
echo "區域數據配置文件修改成功"
#關閉防火墻及selinux防火墻
service iptables stop
setenforce 0
#啟動服務
service named start
echo "nameserver 192.168.175.101" >> /etc/resolv.conf
host mail.benet.com
#修改postfix配置文件
sed -i ‘s/#inet_interfaces = all/inet_interfaces = all/‘ /etc/postfix/main.cf
sed -i ‘s/inet_interfaces = localhost/#inet_interfaces = localhost/‘ /etc/postfix/main.cf
sed -i ‘s/#myhostname = host.domain.tld/myhostname = mail.benet.com/‘ /etc/postfix/main.cf
sed -i ‘s/#mydomain = domain.tld/mydomain = benet.com/‘ /etc/postfix/main.cf
sed -i ‘s/#myorigin = $myhostname/myorigin = $mydomain/‘ /etc/postfix/main.cf
sed -i ‘s/mydestination = $myhostname, localhost.$mydomain, localhost/mydestination = $mydomain, $myhostname/‘ /etc/postfix/main.cf
sed -i ‘s/#home_mailbox = Maildir/home_mailbox = Maildir/‘ /etc/postfix/main.cf
echo "main.cf配置文件修改完成"
service postfix restart
echo "服務啟動完成"
#安裝dovecot軟件
rpm -ivh /mnt/Packages/dovecot-2.0.9-7.el6.x86_64.rpm
#修改dovecot.conf配置文件
sed -i "20c protocols = imap pop3 lmtp" /etc/dovecot/dovecot.conf
sed -i "38c login_trusted_networks = 192.168.175.0/24" /etc/dovecot/dovecot.conf
echo "dovecot.conf配置文件修改完成"
sed -i "24c mail_location = maildir:~/Maildir" /etc/dovecot/conf.d/10-mail.conf
echo "10-mail.conf修改完成"
service dovecot start
#創建測試用賬號
groupadd mailusers
useradd -g mailusers -s /sbin/nologin zhangsan
echo "123123" | passwd --stdin zhangsan
useradd -g mailusers -s /sbin/nologin lisi
echo "123123" | passwd --stdin lisi
echo "測試賬號zhangsan,lisi創建完成"
Postfix郵件系統