1 / 34

第 24 章

第 24 章. 架設 Mail 伺服器. 本章大綱. 24-1 E-mail 系統運作簡介 24-2 啟動 Sendmail 伺服器 24-3 轉遞別台主機發送的信件 24-4 檢視寄信狀況 24-5 安裝可從 Windows 讀信的POP3/IMAP伺服器. 前言. 傳統的書信寄送方式 , 不僅需要付郵費而且可能還要花幾天的時間才會寄達。現在有了 Internet 這條傳遞資訊的高速公路 , 我們可以利用電子郵件 (E-mail) 來傳送信件 , 如此既快速又省錢。

carla-oneil
Download Presentation

第 24 章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 24 章 架設Mail 伺服器

  2. 本章大綱 • 24-1 E-mail 系統運作簡介 • 24-2 啟動 Sendmail 伺服器 • 24-3 轉遞別台主機發送的信件 • 24-4 檢視寄信狀況 • 24-5 安裝可從 Windows 讀信的POP3/IMAP伺服器

  3. 前言 • 傳統的書信寄送方式, 不僅需要付郵費而且可能還要花幾天的時間才會寄達。現在有了 Internet 這條傳遞資訊的高速公路, 我們可以利用電子郵件 (E-mail) 來傳送信件, 如此既快速又省錢。 • 通常我們是使用 ISP 的郵件主機所提供的服務, 來處理電子郵件的接收與寄送。如果我們想要自己架設郵件主機, 使用 Linux 系統很容易就可以辦到喔!

  4. 24 - 1 E-mail 系統運作簡介 • 收發 E-mail 可說是現代人日常生活的一部份。以使用者的立場來說, 我們只要學會怎麼操作 Outlook Express 之類的軟體就可以了。但既然我們準備要架設一台郵件主機, 當然應該要對郵件系統有點基本的認識, 請您仔細看下去。

  5. E-mail 系統的服務程式 • 在 E-mail 系統中, 包括 MUA (Mail User Agent) 與 MTA (Mail Transport Agent) 兩個部份。MUA 是指使用者可用來讀寫信件的程式, 例如 mutt 或 Outlook。 • 而 MTA 是指系統中負責處理信件收發工作的程式, 在 Linux 中比較廣範使用的是 sendmail 與 postfix 這 2 種伺服程式, 本章將介紹較多人使用的 sendmail。

  6. E-mail 系統的服務程式 • 大多數的使用者只需要學會如何操作如 mutt 之類的 MUA 程式, 即可順利地收發信件。如果想要自行架設郵件主機的使用者, 則必須對 MTA 的安裝與設定做進一步的瞭解。

  7. 傳送 E-mail 的方式 • 利用網路來傳送 E-mail 可分為 2 種方式, 一種是在單一網路中收發 E-mail, 例如公司主管要通知員工開會, 則員工都需要登入到同一台郵件主機才能收到信。 • 另一種方式則是必須將 E-mail 傳送到另一台郵件主機, 例如主管要發一封 E-mail 到遠在美國的廠商, 則兩者發信與收信分別是在不同的郵件主機中進行。以下就是這 2 種 E-mail 傳送方式的圖解說明。

  8. 在內部網路中傳送 E-mail • 當同一郵件主機中的使用者 cassia 要寄信給 ken 時, 郵件伺服程式並不會將信件傳出郵件主機。用這種方式時, 郵件主機並不需要有一個已登記的伺服器名稱, 因此 cassia 寄給 ken 可以隨意使用下列幾種 E-mail 位址:

  9. 在內部網路中傳送 E-mail

  10. E-mail 位址的格式 • 每個 E-mail 位址的格式, 皆是由郵件帳號、主機名稱 (host name) 與網域名稱 (domain name) 組合而成。例如:

  11. 傳送 E-mail 到其他郵件主機 • 當 E-mail 要傳送到另一台郵件主機時, 一定要指定收信者的完整 E-mail 位址。例如 cassia 要寄一封信給lucy@ms1.whatever.net, 則郵件伺服程式發現此信是要寄到 ms1.whatever.net 網域, 就會詢問名稱伺服器 (name server) 關於此網域的資訊, 然後透過 SMTP 協定將信件傳送到遠端的郵件主機:

  12. 傳送 E-mail 到其他郵件主機

  13. 傳送 E-mail 到其他郵件主機 • 這種情況下, 在架設郵件主機時, 不可以自己隨便取一個名稱 (假設取名為nonsense.flag.com.tw), 因為如果上游沒有記錄此郵件主機的位址, 則當別人要寄信過來的時候, 會因為找不到這台郵件主機而無法順利寄出。請見下圖:

  14. 傳送 E-mail 到其他郵件主機

  15. 檢查名稱伺服器是否設定正確 • 想要讓自行架設的郵件主機能正常運作, 除了要有正式的網址之外, 還必須在名稱伺服器中登記此主機是郵件伺服器, 如此其他的郵件主機才能寄信給我們自行架設的郵件伺服器, 否則信件可是會被退回的! • 因此, 您必須在名稱伺服器中登記主機為郵件伺服器, 至於登錄的方法, 請洽詢您的 ISP 或 MIS 人員。

  16. 檢查名稱伺服器是否設定正確 • 您可使用下列方式查詢您網路所連接的 ISP, 或是您的 MIS 人員是否已於名稱伺服器中登記您所架設的郵件伺服器:

  17. 24 - 2 啟動 Sendmail 伺服器 • 瞭解郵件傳送的方式之後, 現在我們要來安裝與設定郵件伺服程式。在 Linux 中一般最常使用的郵件伺服程式是 sendmail 伺服器, 本 Linux 發行版已內附 sendmail。您可檢查在 /usr/sbin 目錄中是否有一個 sendmail 可執行檔, 如果有, 表示已經安裝完成。

  18. 24 - 2 啟動 Sendmail 伺服器 • 若是還沒有安裝, 則可從書附光碟 ( DVD 或 CD1 ) 的 /Fedora/RPMS 目錄中找到以 sendmail 開頭的檔案, 然後執行以下指令來安裝即可: • Sendmail 的服務程式是在背景執行, 負責處理所有的郵件, 您可執行 ps 指令查看執行中的程序:

  19. 24 - 2 啟動 Sendmail 伺服器

  20. 24 - 2 啟動 Sendmail 伺服器 • 萬一 sendmail 尚未執行, 則請用以下指令來啟動: • 若要在每次開機後自動啟用 sendmail, 則可執行 ntsysv 指令, 然後選擇 sendmail這一項服務。退出後重新開機, 就會有 sendmail 服務了。

  21. 24 - 3 轉遞別台主機發送的信件 • 自行架設的郵件主機, 如果您是直接遠端登入主機來收發郵件, 都不會有問題。但如果您想要透過郵件軟體來連上郵件主機發信, 那就可能會遇上問題。例如在家使用 HiNet 帳號撥接連線, 然後要用 Outlook Express 連到公司的郵件主機發信, 此時就會出現 "Relaying denied" 的訊息, 那是因為 sendmail 預設只轉遞(relay,或稱"中繼" ) 來自於郵件主機本機的郵件:

  22. 24 - 3 轉遞別台主機發送的信件

  23. 24 - 3 轉遞別台主機發送的信件 • 為了讓郵件主機更便於使用, 我們需要修改 2 個地方, 請先在 /etc/mail/sendmail.cf 檔找到下面的位置修改 :

  24. 24 - 3 轉遞別台主機發送的信件 • 接著請參考下面的例子來修改 /etc/mail/access 檔的內容, 開啟郵件主機可轉遞的對象:

  25. 24 - 3 轉遞別台主機發送的信件 • 然後執行以下命令將新的設定寫入資料庫 (爾後只要更改 /etc/mail/access 檔之後, 都需要重新執行這個命令): • 最後執行以下命令重新啟動 sendmail 即可:

  26. 24 - 3 轉遞別台主機發送的信件 • 如果您不想一個一個網域做限制, 則也可如下設定, 允許一大堆網域使用郵件主機轉遞信件:

  27. 24 - 3 轉遞別台主機發送的信件 • 但這種設定的做法, 有可能會讓別人利用此郵件主機來寄送垃圾郵件。例如上面的例子是開放轉遞 tw、com、org 與 edu 的郵件, 則所有來自於這些網域的郵件都可以利用此台主機來發信, 那麼您的郵件主機就有潛力成為全球垃圾郵件的轉運中心了, 相信這不是您所樂見的。因此建議您在 access 檔中只設定必須的網域, 可別像上面的例子, 自找麻煩!

  28. 24 - 4 檢視寄信狀況 • 當我們寄出郵件時, 要怎麼知道真的已被郵件主機寄出去了呢?本節將會告訴你查看郵件佇列的方法。 • 有時候可能會因為網路的問題而使得郵件送不出去, 我們可以用 mailq 指令來查看郵件佇列 (mail queue) 的內容:

  29. 24 - 4 檢視寄信狀況 • 如果是類似下面這樣的訊息, 則表示有信件尚未被送出:

  30. 24 - 4 檢視寄信狀況 • 有封信件停留在郵件佇列中等待寄送, 如果一直都寄不出去, 則會通知發信人無法寄出。這些留在郵件佇列中的信件都儲存在 /var/spool/mqueue 目錄中, 其存取權限預設為 "rw-------", 擁有者是 root。 • 而我們在郵件主機上收發郵件的動作, 會記錄在 /var/log/maillog 檔中, 您可查看此檔,檢視寄送的情況。

  31. 24 - 5 安裝可從 Windows 讀信 的 POP3/ IMAP 伺服器 • 目前廣大的 PC 使用者大多習慣於 Windows 作業系統的郵件軟體, 例如 Outlook (Express) 與 Thunderbird 等。為了讓這些使用者能夠存取郵件伺服器中的信件, 我們還要再加上 POP3 (Post Office Protocol) 伺服器或 IMAP (Internet Message Access Protocol) 伺服器的功能。如此使用者可以將電子郵件從主機取回自己的電腦中閱讀與保存, 並使用熟悉的軟體來編輯與收發信件。這對於大部份的使用者來說, 確實相當有需要。

  32. 安裝 POP3/IMAP 伺服器 • 若您在安裝本 Linux 發行版時, 不是依照第 4 章所建議的全部安裝, 請您執行 rpm -qdovecot指令, 檢查是否有安裝 POP3/IMAP 伺服器的 dovecot 套件。如果沒有安裝, 請放入書附光碟 (DVD 或 CD2) , 依照以下指令操作:

  33. 設定與啟動 POP3/IMAP 伺服器 • POP3 伺服器可讓使用者將郵件從主機上取回自己的電腦上閱讀及保存, 而 IMAP 伺服器則允許使用者在主機上執行閱讀及儲存的動作。 • 確定安裝好dovecot 套件後, 請執行以下指令啟動 POP3/IMAP 伺服器:

  34. 設定與啟動 POP3/IMAP 伺服器 • 若想要每次開機時自動啟動 POP3/IMAP 伺服器, 請執行 ntsysv指令, 然後選擇 dovecot這一項服務即可。如此便能提供使用者遠端接收郵件的服務了。

More Related