先言:人類很早時期就經過寫信的方式實現不一樣地區間的通訊 在進入到21世紀後,郵件的做用顯得更爲重要 ,互聯網的出現極大的減少了收信時間,讓人們幾乎達到能夠實時對話,那麼是如何搭建一個郵件服務器讓人們使用呢 在linux中是經過postfix來實現的linux
實驗準備:關閉SELinux,配置yum源 配置IP地址web
實驗環境:RHEL5.5vim
實驗所用機器最少三臺 其中有一臺充當router用於轉發不一樣網段的數據包瀏覽器
實驗拓撲圖以下服務器
router的IP配置以下dom
echo 1 > /proc/sys/net/ipv4/ip_forward 開啓網卡轉發功能 socket
配置DNSide
安裝DNS服務工具
yum –y install bind-*post
echo 「」 > /etc/resolv.conf DNS的指向爲空
vim /var/named/chroot/etc/named.conf 新建一個配置文件
options {
directory "/var/named";
};
zone "sina.com" {
type master;
file "sina.com.zone";
};
zone "yahoo.com" {
type master;
file "yahoo.com.zone";
};
cp /usr/share/doc/bind-9.3.6/sample/var/named/localhost.zone /var/named/chroot/var/named/yahoo.com.zone
cp /usr/share/doc/bind-9.3.6/sample/var/named/localhost.zone /var/named/chroot/var/named/sina.com.zone copy模板文件到區域文件
cd /var/named/chroot/var/named/
vim yahoo.com.zone
vim sina.com.zone
重啓服務 service named restart
測試
OK 解析成功
sina 機器上的配置
1.設置解析文件
vi /etc/resolv.conf
nameserver 192.168.1.1
host mail.sina.com 解析主機地址
若是解析不成功建議添加一條路由記錄
route add -net 192.168.2.0/24 gw 192.168.1.1 到達的目標地址 網關
2. 關閉sendmial服務
service sendmail stop
chkconfig sendmail off
3. 安裝postfix 發送郵件
yum –y install postfix
vim /etc/postfix/main.cf
myhostname = mail.sina.com
mydomain = sina.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname,$mydomain
mynetworks = 192.168.1.0/24, 192.168.2.0, 127.0.0.0/8 郵件服務器的網段
relay domains = sina.com, yahoo.com 設置能夠轉發哪些網域的郵件
在配置文件的末尾加上
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
broken_sasl_auth_clients = yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous
保存退出
vim /etc/sysconfig/saslauthd 修改saslauthd服務的配置文件
修改 MECH=shadow
退出
創建一個用戶sina 而後爲用戶設置密碼
useradd sina
passwd sina
啓動saslauthd服務
/etc/init.d/saslauthd restart
chkconfig saslauthd on
測試命令
testsaslauthd -u sina -p 'abc-123'
若是返回OK Success則表示saslauthd服務已經成功工做
service postfix restart 重啓postfix服務
測試postfix
返回250代碼則說明postfix已經配置成功
4 安裝dovecot服務 接收郵件
yum -y install dovecot
修改配置文件
vi /etc/dovecot.conf
要修改的有兩個地方
第20行中設置協議是pop3和pop3s協議
在第35行中去掉註釋 監聽POP3端口 注意這裏必定要頂格寫 包括38行的}也是定行寫 否則linux讀取這裏會先讀取空格而後再讀取其餘的配置
service dovecot restart 重啓服務
chkconfig dovecot on
修改postfix主配文件
大約在456行位置 找到
mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp 去掉這一行的註釋 使之關聯起來
yum -y install cyrus-imapd cyrus-imapd-devel
cat /etc/passwd 文件
能夠看到有一個cyrus的用戶
設置cyrus的密碼
passwd cyrus
重啓服務
/etc/init.d/cyrus-imapd restart
chkconfig cyrus-imapd on
連接到後臺
cyradm -u cyrus localhost
創建一個sina的郵箱用戶
而後quit退出
5 安裝webmail
yum -y install squirrelmail
運行PHP設置工具
/usr/share/squirrelmail/config/conf.pl
1)在command中輸入2 服務器設置
再依次輸入數字符1 3 修改配置
r返回 而後輸入A-------8 改成Cyrus
r返回 而後輸入4 General Options 再選5 將值修改成true #忽略字母大小寫
r返回 而後輸入D Set pre-defined settings for specific IMAP server
IMAP Server爲: cyrus
s保存 q退出 而後啓動httpd服務 service httpd restart
若是沒有安裝的話就安裝httpd服務 yum –y install http-*
打開瀏覽器輸入 http://mail.sina.com/webmail/
登陸後
給本身發郵件測試
OK測試成功
這時再配置yahoo這臺機器
1.設置解析文件
vi /etc/resolv.conf
nameserver 192.168.2.1
從第二步開始都和sina機器配置同樣 惟一不一樣的在於創建的郵箱用戶名 這裏咱們在yahoo的機器上配置一個yahoo的郵箱用戶
登陸後給sina這個用戶發一封郵件
這時再看sina這個郵箱有沒有收到郵件
sina再給yahoo回一個試試
在到yahoo查看郵件
收到了回覆 實驗成功 OK 這裏有一個弊端 每新建一個郵箱用戶就在服務器上新建一個用戶名 下次要完善虛擬用戶 各位請多多指教