1. 程式人生 > >10分鐘教你搭建郵件服務器Postfix(RPM包安裝)

10分鐘教你搭建郵件服務器Postfix(RPM包安裝)

ext 郵件客戶端 操作 用戶 收件人 vpd smt redhat6 發的

簡介

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

工作原理

技術分享圖片

客戶端通過Outlook軟件,向郵件服務器發送一封郵件,郵件服務器會檢查是發往本域?還是發往其他域?
1、如果發送到本域,直接存放到Mailbox中,另外一個用戶上線,需要收取這封郵件,需要借助dovecot(dovecot提供的是MRA的功能)軟件,通過dovecot進入數據庫驗證身份,驗證通過以後,就可以通過MRA調用POP3或者IMAP4的協議,進入郵箱收取郵件,並且將郵件轉發給用戶

2、如果發送到其他域,其他MTA。但是轉發之前,驗證用戶身份,是否要為其轉發郵件,驗證的時候是用到了SASL函數庫,用戶的信息是放到了數據庫中,此時我們需要一個中間層authlib,通過authlib替SASL函數庫向數據庫進行驗證,做“發信認證”,認證通過,允許轉發,驗證不通過,拒絕轉發
3、通過瀏覽器訪問郵件服務器(EXtmall),轉發到其他域,放到郵箱,到數據庫驗證

郵件系統角色

MUA:郵件用戶代理(客戶端 例如微軟郵件客戶端)
MTA:郵件傳輸代理(服務器端 postfix)
MDA:郵件分發代理分發郵件(至mialbox中)
MRA:郵件檢索代理

郵件應用協議

1、SMTP,簡單郵件傳輸協議,TCP,25端口,加密時使用TCP,465端口(發送郵件)客戶端向其他服務器發送郵件或者服務器向其他服務器轉發郵件,發送方使用的都是SMTP協議
2、POP3,第3版郵局協議, TCP 110端口,加密時使用TCP 995端口[收郵件 收取郵件的時候,先將服務器的郵件下載到本地,所有的操作都是在本地完成
3、IMAP4,第4版互聯網消息訪問協議,TCP 143端口,機密時使用993端口(比POP3靈活)接收郵件,客戶端和服務器端交互了以後,在服務器端處理,好處能實現更多的功能,例如查看郵件的信息,但是消耗的系統的資越高

實驗環境

系統環境:centos6.5
LinuxIP地址:192.168.1.77

yum掛載目錄:/mnt/sr0
DNS域名:bt.com.

搭建步驟:

一、指定DNS,實現郵件交換記錄

1、安裝DNS

[root@redhat6 ~]# cd /mnt/sr0/Packages/
[root@redhat6 Packages]# rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm #安裝DNS服務器主包

2、修改DNS配置文件

[root@redhat6 ~]# vim /etc/named.conf #修改DNS服務器文件
技術分享圖片

3、創建並修改DNS正向解析文件

[root@redhat6 ~]# cd /var/named/
[root@redhat6 named]# cp -p named.localhost bt.com.zone #將模板文件改為正向解析文件進行修改
[root@redhat6 ~]# vim /var/named/bt.com.zone # 修改正向解析文件
技術分享圖片

4、測試DNS解析

[root@redhat6 ~]# nslookup mail.bt.com #nslookup 用於查詢DNS的記錄,查看域名解析是否正常
技術分享圖片

二、安裝郵箱服務

1、安裝postfix

[root@redhat6 ~]# cd /mnt/sr0/Packages/
[root@redhat6 Packages]# rpm -ivh postfix-2.6.6-2.2.el6_1.x86_64.rpm #安裝postfix主包

2、修改postfix修改配置文件

[root@redhat6 ~]# vim /etc/postfix/main.cf

添加修改以下參數:
inet_interfaces = all //監聽服務的IP地址,有一個默認localhost,修改時候註意下,別忘記
myhostname = mail.bt.com //郵件服務器主機名
mydomain = bt.com //郵件域名
myorigin = $mydomain //發件人地址郵件域名
mydestination = $mydomain, $myhostname //收件人地址郵件域名
home_mailbox = Maildir/ //郵件存放位置

3、啟動服務

[root@redhat6 ~]# /etc/init.d/postfix start

三、安裝郵箱收件服務

1、安裝dovecot插件

[root@redhat6 ~]# cd /mnt/sr0/Packages/
[root@redhat6 Packages]# rpm -ivh dovecot-2.0.9-7.el6.x86_64.rpm

2、修改配置文件

[root@redhat6 ~]# vim /etc/dovecot/dovecot.conf
技術分享圖片

技術分享圖片

[root@redhat6 ~]# vim /etc/dovecot/conf.d/10-mail.conf
技術分享圖片

[root@redhat6 ~]# service dovecot start

3、添加郵箱測試用戶

[root@redhat6 ~]# groupadd mailusers #添加組
[root@redhat6 ~]# useradd -g mailusers -s /sbin/nologin zhangsan #添加張三用戶
[root@redhat6 ~]# passwd zhangsan
[root@redhat6 ~]# useradd -g mailusers -s /sbin/nologin lisi #添加李四用戶
[root@redhat6 ~]# passwd lisi

四、測試收發郵件

1、安裝telent客戶端

[root@redhat6 Packages]# rpm -ivh telnet-0.17-47.el6_3.1.x86_64.rpm #安裝telent客戶端服務,通過telent命令連接25端口進行測試。

2、zhangsan用戶發送郵件給lisi

[root@redhat6 ~]# telnet 192.168.1.77 25
技術分享圖片

3、lisi用戶接收郵件
[root@redhat6 ~]# telnet mail.bt.com 110
技術分享圖片

10分鐘教你搭建郵件服務器Postfix(RPM包安裝)