歡迎您光臨本站 註冊首頁

在Linux系統上用Qpopper建立POP3伺服器

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
   

當你在建立Sendmail或者任何其他標準SMTP伺服器時,重要的是要記住這是在你的Linux主機和其他郵件伺服器之間進行信息傳輸的唯一手段。為了使你的用戶能找回他們的信息,你需要建立一項POP3或者IMAP服務。Qpopper是一個通用的POP3實施選擇,你可以安裝它並快速簡單的建立服務。只需要下面簡單的幾步。

 

用Sendmail安裝Qpopper

 

在這篇文章中描述了Qpopper了安裝的步驟,我將假設你已經安裝了Sendmail。不過,Qpopper將和任何其他標準的SMTP伺服器兼容。

 

首先,從Qpopper的Web站點下載qpopper4.0.3.tar.gz這個最新的資源包。你在這個站點上還會發現大量的文件和軟體文檔。在下載這個版本之後,你需要用tar xpfz這個命令將之解壓。創建新的目錄qpopper4.0.3並執行./configure,然後就可以開始安裝了。

 

如果你在以前用過,或許你有超過默認安裝之外的需求,確信閱讀了文檔以找到所有可編輯的選項。例如,你可能更喜歡將Qpopper作為一個獨立的後台郵件程序,而不是從inetd或xinetd中運行。要想做到這些,你需要運行./configure並用選項--enable-standalone。

 

當把Qpopper作為一個獨立的後台程序時,為了在導入時能啟動正確的服務,你需要創建一個腳本。除非你是從諸如RPM或DEB這樣的特定版本檔案安裝,否則Qpopper在預設情況下安裝在/usr/local/lib下。如果從原始資源開始安裝,你也需要在/etc/inetd.conf文件中添加下列的行:

 

pop3 stream tcp nowait root /usr/local/lib/popper qpopper -s

  

作為選擇,如果你在使用xinetd.conf,這是最新Red Hat 7.x的預設安裝,確信在/etc/xinetd.d/目錄下創建了名為pop3的文件,其內容如下:

 

 

  service pop3     {     socket_type = stream     protocol = tcp     wait = no     user = root     server = /usr/local/lib/popper     server_args = qpopper -s     port = 110     }

 

當增加一項新的服務時,先檢查你的防火牆過濾規則和/etc/hosts.allow文件。你的防火牆應該允許在110埠直接接受TCP請求,這是POP3服務的埠,並且你的hosts.allow文件應該有ALL這一行。同樣的,如果是 Red Hat,請檢查/etc/xinetd.d/並確保沒有已存在的POP3伺服器。通過一個標準安裝選項,使得預配置變成可能,所以如果你在以後才添加Qpopper,確信已經從xinetd後台程序中刪除了所有諸如/etc/xinetd.d/ipop3這樣的指引。

作者: postnew 發布日期: 2007-10-18

建立Qpopper

 

一旦Qpopper安裝完成,你需要開啟服務。如果你使用的是inetd或xinetd,只需通過執行kill –HUP 就可以簡單的重啟inetd或xinetd後台程序。你可以通過運行ps aux | grep inet來確定進程ID(PID)。

 

如果已經將Qpopper安裝在單獨模式下,你需要通過在/etc/init.d/pop3文件中放置參數 -S來執行你已經創建的腳本。例如,-S標記告訴Qpopper運行在伺服器模式下,這樣可以有助於提高伺服器的輸入/輸出性能。如果不是在伺服器模式下,Qpopper將根據優先訪問原則拷貝郵件文件並且在做了相應調整之後將之拷回,例如電子郵件刪除。在伺服器模式下,Qpopper掃描隊列而不是拷貝,並在用戶的任務中直接處理,這對需要支持大量用戶的POP3伺服器尤為重要。

 

當運行一個POP3伺服器時,表格1所有你可以用的命令選項。例如,可以從110埠遠程登陸你的伺服器,手工操作,刪除大型的信息。對這些選項有一個全面的了解將有助於快速解決用戶的電子郵件故障。

 

USER 在這個命令之後輸入你的用戶ID,例如USER webmaster。

 

PASS 為這個帳戶輸入密碼,形式為 PASS 密碼。

 

QUIT 這個命令結束當前任務並刪除標記的郵件。

 

LIST 用這個命令可以列出信息和大小。

 

RETR 恢復某個信息號的特定郵件。

 

DELE 這個命令刪除某個信息號的特定郵件。

 

TOP 顯示特定郵件的前N行(TOP <# lines>).

 

Qpopper通過/etc/passwd和/etc/shadow依賴於正在應用的標準系統驗證機制。所以,為了讓用戶可以使用POP3服務,在本地系統上添加是必需的。既然你可能已經運行了一個諸如Sendmail這樣的郵件代理,這件事情實際上已經做好了。

 

發現並解決Qpopper的故障

 

你安裝的任何服務在第一次運行的時候,可能總會出現一些問題。一個很好的辦法就是伺服器對登陸其110埠的POP3請求能夠應答。你可以試試從本地和遠端站點進行登陸。你將看到這些實驗中命令行的例子。

 

如果有大量的用戶聯接到你的伺服器以獲取電子郵件的話,你可能需要通過改變等待最大值來增大inetd的超時值,可以這樣做:

 

pop3 stream tcp nowait.400 root /usr/local/lib/popper qpopper -s

  

當大量的任務在同時進行時,這可以避免Qpopper進入死循環。當開始登陸時,你的日誌文件開始記錄服務,這時你可以改變我在上面提到的超時值。

 

另一個問題就是在較大的站點經常出現郵件鎖定。當一個客戶向伺服器打開一個POP3任務時,郵件鎖定這個文件就創建了。它阻止其他修改郵箱的聯接。有時候,一個用戶非正常的斷開聯接,Qpopper不能把在任務之初建立的臨時文件隊列刪除。這經常在/var/spool目錄下以.user.pop的形式出現。伺服器通常檢測過時的郵件鎖定並刪除他們;然而,在很少的情況下,為了允許再次訪問POP3伺服器,管理員可能需要手工刪除這些文件。

 

總結

 

如果想為用戶提供完全的電子郵件功能,在你的Sendmail伺服器中添加POP3服務是重要的一步。通過Qpopper,這項任務就變得相當的簡單。迅速下載,安裝,並重啟和運行。它也可以和其它標準SMTP伺服器一起運行。

(責任編輯:A6)



[火星人 ] 在Linux系統上用Qpopper建立POP3伺服器已經有415次圍觀

http://coctec.com/docs/net/show-post-68356.html