CentOS 下如何搭建郵件伺服器?


有個EMAILOS你下個用用吧,就基於CENTOS的實現的


plz google postfix.


這幾天因為產品需求:需選定一套開源的郵件系統進行業務改造,通過資料比對,再加上身邊的這本《構建高可用Linux伺服器》第8章「如何構建開源免費的企業級郵件系統」的推薦,最終選擇了iRedMail郵件系統進行詳細考察。(關於郵件系統的掃盲工作,也可看這本書)

第一步肯定是要部署試用下。

  1. 通過官網了解iRedMail;

  2. 下載最新的release包;

  3. 選擇相應的linux發行版(我選的是CentOS),需要注意的:

    • 最好保證linux系統是純凈的,我的系統就因為已經裝了MySQL導致安裝失敗。

    • 由於http://iredmail.org的域名被牆,請將iRedMail-x.y.z/pkgs/get_all.sh中的http://iredmail.org執行全局替換為IP地址,shell命令 %s/http://iredmail.org/173.254.22.21/g 。

網上關於搭建iRedMail的文章不少,但是也許是作者遺漏了什麼或是版本不一致的問題,有些並不能將最新版的iRedmail安裝成功或者後續配置講的並不清楚。但是有一篇文章我覺得寫得很詳細也很靠譜,推薦給大家。《CentOS 安裝iRedMail郵件方法》。

安裝成功後會有如下提示

  • URLs of installed web applications: *

  • - Webmail: https://mail.yw.com/mail/

  • - Admin Panel (iRedAdmin): https://mail.yw.com/iredadmin/

  • + Username: postmaster@yw.com, Password: yaowei *

  • Congratulations, mail server setup completed successfully. Please

  • read below file for more information: *

  • - /root/iRedMail-0.8.4/iRedMail.tips *

  • And its sent to your mail account postmaster@yw.com. *

  • Please reboot your system to enable mail services. *

其中 https://mail.yw.com/iredadmin/ 為管理平台頁面,可以在其中對郵件系統進行監控、設置、添加用戶...

https://mail.yw.com/mail/就是自己的郵件頁面了,很舒服簡潔的界面,可以試操作給他人發個郵件。

我們上面說要按業務改造為自己的郵件系統,那肯定是要改動源碼的。開始我還有個誤解以為整個郵件系統都是iRedMail的作者寫的,最後看到源碼後才知道iRedMail的作者寫的是iredadmin這個管理端(作者是個中國同胞:張煌彬。非常感謝他,也希望國產開源越來越好),使用的是web.py框架。


linux下郵件伺服器的搭建大致分為三個步驟

  1. 準備工作(真實的生產環境下需要)
  2. 發送伺服器安裝及配置 (Postfix)
  3. 接收伺服器安裝及配置(dovecot)

一、 準備工作

1. 為郵件伺服器添加DNS解析

雖然不加DNS解析也能把郵件發出去,但會被大多數郵件伺服器當作垃圾郵件。根據我們的實際經驗,需要添加三條DNS解析記錄:A記錄、MX記錄、TXT記錄

二、發送伺服器安裝及配置 (Postfix)

1、卸載Sendmail

查看當前伺服器環境中是否已經安裝了Sendmail 如果已經安裝了 執行下面的命令進行卸載

yum -y remove sendmail

我使用的環境是CentOS6.4 默認沒有安裝sendmail

[root@localhost ~]# rpm -qa | grep sendmail

2、安裝Postfix

查看當前伺服器環境中是否已經安裝了Postfix 如果沒有安裝了 執行下面的命令進行安裝

yum -y install postfix*

我使用的環境是CentOS6.4 默認已經安裝了Postfix

[root@localhost ~]# rpm -qa | grep postfix
postfix-2.6.6-2.2.el6_1.i686

3、配置Postfix

[root@localhost ~]# vi /etc/postfix/main.cf

以下配置示例假設要配置的域名是http://cnblogs.info,郵件伺服器主機名是http://mail.cnblogs.info

a) 修改myhostname

myhostname = http://mail.cnblogs.info

myhostname 參數即是我們的郵件伺服器的主機名稱,是由英文字母或數字所組成,比如http://www.google.com或http://mail.google.com就是一個Hostname

b) 修改mydomain

mydomain = http://cnblogs.info

mydomain參數設定網域名稱(Domain Name),主機名稱通常都是在建立在網域名稱之內,像是http://www.google.com則是網頁服務,http://mail.google.com則會是郵件主機服務,通常網域名稱都會是主機名稱(Hostname)去掉第一個掉包含前面的文字部份,比如說http://www.google.com的Domain則是http://google.com

c) 修改myorigin

myorigin = $mydomain

myorigin是我們的郵件位址在」@」後面的文字內容,比如像是me@medesky.me,http://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號埠打開)

[root@localhost ~]# service postfix restart
關閉 postfix: [確定]
啟動 postfix: [確定]
[root@localhost ~]# 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指令來測試

[root@localhost ~]# mail root@cnblogs.info
Subject: test
test
.
EOT

b) 收信測試

當我們從內部或外部寄信過來時,預設的郵件存放位址如下:

/var/spool/mail(或/var/mail)

從此目錄里查看帳號名稱的檔案,我們所收發的信件都會存在這裡

也可以通過 mail -u 命令查看

[root@localhost ~]# 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 root@cnblogs.info Sat Jun 15 12:48:37 2013
Return-Path: &
X-Original-To: root@cnblogs.info
Delivered-To: root@cnblogs.info
Date: Sat, 15 Jun 2013 12:48:36 +0800
To: root@cnblogs.info
Subject: test
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
From: root@cnblogs.info (root)
Status: R

test

三、接收伺服器安裝及配置(dovecot)

1、安裝dovecot

[root@localhost ~]# yum install -y dovecot*

2、配置dovecot

[root@localhost dovecot]# vi /etc/dovecot/dovecot.conf

a) 修改protocols支持pop3和imap

protocols = imap pop3

3) 啟動dovecot服務並開啟110、143埠

[root@localhost dovecot]# service dovecot restart
停止 Dovecot Imap: [失敗]
正在啟動 Dovecot Imap: [確定]
[root@localhost dovecot]# netstat -anp | grep :110
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 17607/dovecot
[root@localhost dovecot]# netstat -anp | grep :143
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 17607/dovecot


sendmail、postfix、qmail


可以使用zimbra的開源版本,其本身也是基於postfix開源而來,集成了
Clamav、Amavisd和DSPAM這些開源技術。安裝比單純使用postfix再配上clamav,amavisd等一起簡單,配置集中,界面比較友好。


1、下載U-Mail for CentOS(6.X)獨立安裝包

註:最新版本請參考http://www.comingchina.com/downloads/下載頁面。

2、使用root用戶登錄系統,將壓縮包放在/root目錄下,並使用unzip命令進行解壓,如下圖:

3、解壓後產生u-mail目錄,使用cd u-mail命令切換目錄,並運行sh install.sh執行安裝腳本,如下圖:

4、出現U-Mail安裝嚮導,輸入郵箱域名後,選擇「Next」確認,如下圖:

註:如果您的郵件伺服器主機是http://mail.domain.com,那麼域名輸入http://domain.com(請更改成自己的域名)。

5、輸入mysql數據的root帳號密碼(請修改成自己需要的密碼),輸入後選擇「Next」確認,如下圖:

6、輸入域管理員(admin)的登錄密碼(請修改成自己需要的密碼),輸入後選擇「Next」確認,如下圖:

7、輸入超域管理員(administrator)的登錄密碼(請修改成自己需要的密碼),輸入後選擇「Next」確認,如下圖:

8、輸入系統管理員(system)的登錄密碼,輸入後選擇「Next」確認,如下圖:

9、指定用戶郵件存儲目錄,並選擇「Next」確認,如下圖:

10、設置Apache監控埠,按照默認設置即可。並選擇「Next」確認,如下圖:

11、設置WebMail運行埠,按照默認設置即可(默認為80埠,如果想使用其它埠請更改)。並選擇「Next」確認,如下圖:

12、開始進行安裝,如下圖:

13、彈出「安裝完成」窗口,點擊「OK」按鈕。如下圖:

14、建議重啟下伺服器,輸入reboot命令,如下圖:

15、登錄到系統管理後台,導入授權文件。

登錄地址:http://mail.domain.com/webmail/admin/ (請更換成自己的域名)

帳號:system(U-Mail系統方面設置),初始密碼為123456


postfix


推薦閱讀:

【技術人快報】摩拜單車多地區現Bug+iCloud完成中國本土化落地
如何更換CentOS(Linux)系統默認字體?
如何把VPS上的整個系統備份下來?

TAG:CentOS | 郵件伺服器 |