通過postfix實現不同網段間的互發郵件

先言:人類很早時期就通過寫信的方式實現不同地區間的通信 在進入到21世紀後,郵件的作用顯得更爲重要 ,互聯網的出現極大的減小了收信時間,讓人們幾乎達到可以實時對話,那麼是如何搭建一個郵件服務器讓人們使用呢 在linux中是通過postfix來實現的

實驗準備:關閉SELinux,配置yum源 配置IP地址

實驗環境:RHEL5.5

實驗所用機器最少三臺 其中有一臺充當router用於轉發不同網段的數據包

實驗拓撲圖如下

image

router的IP配置如下

image

echo 1 > /proc/sys/net/ipv4/ip_forward  開啓網卡轉發功能

配置DNS

安裝DNS服務

yum –y install bind-*

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

image

vim sina.com.zone

image

重啓服務  service named restart

測試

image

OK 解析成功

sina 機器上的配置

1.設置解析文件

vi /etc/resolv.conf

nameserver 192.168.1.1

host mail.sina.com   解析主機地址

image

如果解析不成功建議添加一條路由記錄

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

image

返回250代碼則說明postfix已經配置成功

4 安裝dovecot服務  接收郵件

yum -y install dovecot
修改配置文件
vi /etc/dovecot.conf

要修改的有兩個地方

image

第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 文件

image

可以看到有一個cyrus的用戶

設置cyrus的密碼

passwd cyrus

重啓服務
/etc/init.d/cyrus-imapd restart
chkconfig cyrus-imapd on

鏈接到後臺
cyradm  -u  cyrus localhost

image

建立一個sina的郵箱用戶

然後quit退出

5 安裝webmail

yum -y install squirrelmail

運行PHP設置工具
/usr/share/squirrelmail/config/conf.pl

1)在command中輸入2 服務器設置

再依次輸入數字符1 3 修改配置

image

r返回 然後輸入A-------8 改爲Cyrus

 image

r返回 然後輸入4 General Options 再選5 將值修改爲true      #忽略字母大小寫

image

r返回 然後輸入D  Set pre-defined settings for specific IMAP server

IMAP Server爲: cyrus

image

s保存 q退出 然後啓動httpd服務 service httpd restart

如果沒有安裝的話就安裝httpd服務 yum –y install http-*

打開瀏覽器輸入 http://mail.sina.com/webmail/

image

登錄後

image

給自己發郵件測試

image

OK測試成功

這時再配置yahoo這臺機器

1.設置解析文件

vi /etc/resolv.conf

nameserver 192.168.2.1

從第二步開始都和sina機器配置一樣 唯一不同的在於建立的郵箱用戶名 這裏我們在yahoo的機器上配置一個yahoo的郵箱用戶

image

登錄後給sina這個用戶發一封郵件

image

這時再看sina這個郵箱有沒有收到郵件

image

sina再給yahoo回一個試試

image

在到yahoo查看郵件

image

收到了回覆 實驗成功 OK 這裏有一個弊端 每新建一個郵箱用戶就在服務器上新建一個用戶名 下次要完善虛擬用戶 各位請多多指教

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章