天天看點

RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)

盡管現在有很多線上聯系方式,電子郵件仍然是一個人傳遞資訊給遠在世界盡頭或辦公室裡坐在我們旁邊的另一個人的有效方式。

下面的圖描述了電子郵件從發送者發出直到資訊到達接收者收件箱的傳遞過程。

RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)

電子郵件如何工作

這就是為什麼我們要在這篇博文中介紹如何在 rhel 7 中設定 smtp 伺服器,從本地使用者發送的郵件(甚至發送到另外一個本地使用者)被轉發forward到一個中央郵件伺服器以便于通路。

在這個考試的要求中這稱為無用戶端null-client安裝。

在我們的測試環境中将包括一個起源originating郵件伺服器和一個中央伺服器或中繼主機relayhost。

起源郵件伺服器: (主機名: box1.mydomain.com / ip: 192.168.0.18)

中央郵件伺服器: (主機名: mail.mydomain.com / ip: 192.168.0.20)

我們在兩台機器中都會使用你熟知的 <code>/etc/hosts</code> 檔案做名字解析:

<a></a>

首先,我們需要(在兩台機器上):

1、 安裝 postfix:

2、 啟動服務并啟用開機自動啟動:

3、 允許郵件流量通過防火牆:

RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)

在防火牆中開通郵件伺服器端口

4、 在 box1.mydomain.com 配置 postfix

postfix 的主要配置檔案是 <code>/etc/postfix/main.cf</code>。這個檔案本身是一個很大的文本檔案,因為其中包含了解釋程式設定的用途的注釋。

為了簡潔,我們隻顯示了需要編輯的行(沒錯,在起源伺服器中你需要保留 <code>mydestination</code> 為空;否則郵件會被存儲到本地,而不是我們實際想要發往的中央郵件伺服器):

5、 在 mail.mydomain.com 配置 postfix

如果還沒有設定,還要設定相關的 selinux 布爾值永久為真:

RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)

設定 postfix selinux 權限

上面的 selinux 布爾值會允許中央伺服器上的 postfix 可以寫入郵件池mail spool。

6、 在兩台機子上重新開機服務以使更改生效:

<code># systemctl restart postfix</code>

如果 postfix 沒有正确啟動,你可以使用下面的指令進行錯誤處理。

<code># systemctl -l status postfix</code>

<code># journalctl -xn</code>

<code># postconf -n</code>

由于我個人喜歡 mutt,我會在 box1 中使用它發送郵件給使用者 tecmint,并把現有檔案(mailbody.txt)作為資訊内容:

<code># mutt -s "part 9-rhce series" [email protected] &lt; mailbody.txt</code>

RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)

測試 postfix 郵件伺服器

現在到中央郵件伺服器(mail.mydomain.com)以 tecmint 使用者登入,并檢查是否收到了郵件:

<code># su – tecmint</code>

<code># mail</code>

RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)

檢查 postfix 郵件伺服器發送

<code># nmap -pn 192.168.0.20</code>

RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)RHCE 系列(九):如何使用無用戶端配置 Postfix 郵件伺服器(SMTP)

postfix 郵件伺服器錯誤處理

像本文中展示的設定郵件伺服器和中繼主機是每個系統管理者必須擁有的重要技能,也代表了了解和安裝更複雜情景的基礎,例如一個郵件伺服器托管有多個郵件賬戶(甚至成百上千)的域名。

(請注意這種類型的設定需要有 dns 伺服器,這不在本文的介紹範圍),但你可以參照下面的文章設定 dns 伺服器:

<a href="http://www.tecmint.com/setup-dns-cache-server-in-centos-7/">在 centos/rhel 07 上配置僅緩存的 dns 伺服器</a>

最後,我強烈建議你熟悉 postfix 的配置檔案(main.cf)和這個程式的幫助手冊。如果有任何疑問,别猶豫,使用下面的評論框或者我們的論壇 linuxsay.com 告訴我們吧,你會從世界各地的 linux 高手中獲得幾乎是及時的幫助。

本文來自雲栖社群合作夥伴“linux中國”,原文發表于2013-04-02.

繼續閱讀