CentOS6.4下郵件服務器搭建
CentOS6.4下郵件服務器搭建
linux下郵件服務器的搭建大致分為三個步驟
- 準備工作(真實的生產環境下需要)
- 發送服務器安裝及配置 (Postfix)
- 接收服務器安裝及配置(dovecot)
一、 準備工作
1. 為郵件服務器添加DNS解析
雖然不加DNS解析也能把郵件發出去,但會被大多數郵件服務器當作垃圾郵件。根據我們的實際經驗,需要添加三條DNS解析記錄:A記錄、MX記錄、TXT記錄
2. 準備存放郵件的硬盤空間
如果用的是阿裏雲入門級Linux服務器,有一塊20G的數據盤未掛載,需要格式化並掛載
二、發送服務器安裝及配置 (Postfix)
1、卸載Sendmail
查看當前服務器環境中是否已經安裝了Sendmail 如果已經安裝了 執行下面的命令進行卸載
yum -y remove sendmail
我使用的環境是CentOS6.4 默認沒有安裝sendmail
[[email protected] ~]# rpm -qa | grep sendmail
2、安裝Postfix
查看當前服務器環境中是否已經安裝了Postfix 如果沒有安裝了 執行下面的命令進行安裝
yum -y install postfix*
我使用的環境是CentOS6.4 默認已經安裝了Postfix
[[email protected] ~]# rpm -qa | grep postfix postfix-2.6.6-2.2.el6_1.i686
3、配置Postfix
[[email protected] ~]# vi /etc/postfix/main.cf
以下配置示例假設要配置的域名是cnblogs.info,郵件服務器主機名是mail.cnblogs.info
a) 修改myhostname
myhostname = mail.cnblogs.info
myhostname 參數即是我們的郵件伺服器的主機名稱,是由英文字母或數字所組成,比如www.google.com或mail.google.com就是一個Hostname
b) 修改mydomain
mydomain = cnblogs.info
mydomain參數設定網域名稱(Domain Name),主機名稱通常都是在建立在網域名稱之內,像是www.google.com則是網頁服務,mail.google.com則會是郵件主機服務,通常網域名稱都會是主機名稱(Hostname)去掉第一個掉包含前面的文字部份,比如說www.google.com的Domain則是google.com
c) 修改myorigin
myorigin = $mydomain
[email protected],[email protected],medesky.me就是我們的Origin Name
d) 修改smtp監聽端口
inet_interfaces = all
inet_interfaces 參數指定postfix系統監聽的網絡接口。Postfix預設只會監聽來自於本機端的所傳出的封包,必須使用上列設定,才可以傳收所有來自於網路端的所有封包
e) 修改 inet_protocols
修改Postfix的通訊協定,目前網路的協定主流有IPv4與IPv6,在大部份的情況下,我們都是利用IPv4在通訊的,如果你的Mail Server沒有需要使用到IPv6,可以做以下的設定修改
inet_protocols = ipv4
f) 修改mydestination
mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost
mydestination參數設定能夠接收信件的主機名稱,Postfix預設只能收到設定的Hostname與Domain Name以及本機端的信件,此步驟是再增加能收信件的網路名稱
g) 設定信任用戶端
mynetworks = 127.0.0.0/8, 192.168.1.0/24, hash:/etc/postfix/access
mynetworks 參數設定信任的用戶端,當要寄信時,會參考此值,若非信任的用戶,則不會幫你的信件轉到其它的MTA主機上
h) 設定relay_domain轉發郵件域名
規範可以relay 的MTA 主機位址,通常這個都直接設為mydestination
relay_domains = $mydestination
i) 設定郵件別名的路徑
檢查” alias_maps”設定是否為以下字串設定
alias_maps = hash:/etc/aliases
j) 設定指定郵件別名表資料庫路徑
檢查” alias_ database”設定是否為以下字串設定
alias_database = hash:/etc/aliases
k) 執行以下命令
用於設定郵件主機使用權限與過濾機制及郵件別名
# postmap hash:/etc/postfix/access # postalias hash:/etc/aliases
4、重啟postfix使設置生效(使smtp服務的25號端口打開)
[[email protected] ~]# service postfix restart 關閉 postfix: [確定] 啟動 postfix: [確定] [[email protected] ~]# netstat -anp | grep :25 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 16331/master tcp 0 0 :::25 :::* LISTEN 16331/master
5、測試
a) 寄信測試
此時我們已經可以利用此臺主機使用smtp收送電子郵件了, 利用mail指令來測試
[[email protected] ~]# mail [email protected] Subject: test test . EOT
b) 收信測試
當我們從內部或外部寄信過來時,預設的郵件存放位址如下:
/var/spool/mail(或/var/mail)
從此目錄裏查看帳號名稱的檔案,我們所收發的信件都會存在這裏
也可以通過 mail -u 命令查看
[[email protected] ~]# mail -u root Heirloom Mail version 12.4 7/29/08. Type ? for help. "/var/mail/root": 1 message 1 new >N 1 root Sat Jun 15 12:48 18/561 "test" & 1 Message 1: From [email protected] Sat Jun 15 12:48:37 2013 Return-Path: <[email protected]> X-Original-To: [email protected] Delivered-To: [email protected] Date: Sat, 15 Jun 2013 12:48:36 +0800 To: [email protected] Subject: test User-Agent: Heirloom mailx 12.4 7/29/08 Content-Type: text/plain; charset=us-ascii From: [email protected] (root) Status: R test &
三、接收服務器安裝及配置(dovecot)
1、安裝dovecot
[[email protected] ~]# yum install -y dovecot*
2、配置dovecot
[[email protected] dovecot]# vi /etc/dovecot/dovecot.conf
a) 修改protocols支持pop3和imap
protocols = imap pop3
3) 啟動dovecot服務並開啟110、143端口
[[email protected] dovecot]# service dovecot restart 停止 Dovecot Imap: [失敗] 正在啟動 Dovecot Imap: [確定] [[email protected] dovecot]# netstat -anp | grep :110 tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 17607/dovecot [[email protected] dovecot]# netstat -anp | grep :143 tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 17607/dovecot
CentOS6.4下郵件服務器搭建