posts - 40, comments - 58, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Apache james 使用入門

          Posted on 2008-06-26 11:52 Astro.Qi 閱讀(717) 評論(0)  編輯  收藏 所屬分類: Java
          一、簡介

          Apache James(Java Apache Mail Enterprise Server)是Apache組織的子項目之一,完全采用純Java技術開發,實現了SMTP、POP3與NNTP等多種郵件相關協議。

          James也是一個郵件應用平臺,可以通過Mailet擴充其功能,如Mail2SMS、Mail2Fax等。James提供了比較完善的配置方案,尤其是關于郵件內容存儲和用戶信息存儲部分,可以選擇在文件、數據庫或其他介質中保存。

          James性能穩定、可配置性強,還是開源項目,所有源代碼不存在版權問題,因此,James在項目中的應用日益廣泛,現在常用版本為2.1,但最新版本2.3已經推出,在本文中,我們將仍以James2.1作為介紹藍本。

          二、安裝與配置

          James的安裝配置過程非常簡單。

          第一步:安裝JDK

          請使用JDK1.3以上版本(推薦使用JDK1.4),假設安裝在c:\jdk1.3。

          第二步:下載James,并解壓

          可以到Apache網站上下載James2.1,下載將得到一個壓縮文件james-2.1.zip,大小為4.45M,將此包解壓到c:\james。

          第三步:直接運行或需要配置JAVA_HOME

          這時,可以嘗試直接雙擊c:\james\bin\run.bat,若啟動無誤,將提示如下:

          Using PHOENIX_HOME: C:\james
          Using PHOENIX_TMPDIR: C:\james\temp
          Using JAVA_HOME:

          Phoenix 4.0.1

          James 2.1
          Remote Manager Service started plain:4555
          POP3 Service started plain:110
          SMTP Service started plain:25
          NNTP Service Disabled
          Fetch POP Disabled

          也有可能啟動不了,并報JAVA_HOME找不到,這時,需要指定JAVA_HOME,比較簡單的方法是在c:\james\bin\run.bat中指定JAVA_HOME,修改后的run.bat如下:

          ……
          rem
          rem Determine if JAVA_HOME is set and if so then use it
          rem
          set JAVA_HOME= c:\jdk1.3
          if not "%JAVA_HOME%"=="" goto found_java
          ……

          修改完后再運行run.bat,應該就可以正常啟動了,若還有什么問題,請參見本文的FAQ部分。

          三、項目應用

          1、 項目需求

          某單位,有16個職能處室,共78臺電腦(操作系統為Win98/2000/xp),其中有1臺為專用服務器(Win2000),已連成局域網。為使單位內部的信息交流,尤其是文件交互更加便捷,單位決定在局域網內部架設一套E-mail系統。

          2、 解決方案

          在專用服務器上安裝James2.1,客戶端使用操作系統自帶的Outlook Express。

          3、 服務器端配置

          首先找出專用服務器的名字,假設叫unitname。

          然后打開文件c:\james\apps\james\SAR-INF\config.xml。

          在config.xml文件中,找到 Postmaster@localhost,把此項改為 Postmaster@unitname,同理,找到localhost,把此項改為unitname。其實,改這兩項就是把默認的localhost改為機器名,這樣做是為了讓其它機器也能訪問郵件系統,當然,前提是在局域網上沒有與服務器重名的機器。

          4、 客戶端配置

          假設有一個賬號,用戶名為holen,密碼為123456,如何在Outlook中配置呢?

          首先,根據用戶名,可以得出該用戶郵箱地址為holen@unitname ,然后在輸入POP3和SMTP服務器時,直接使用服務器機器名unitname即可。

          5、 帳號管理

          James的賬號管理是通過telnet完成的,登錄命令為:

          telnet unitname 4555

          其中unitname也可以換成IP,4555是端口號。登錄時需要用戶名和密碼,初始的用戶名和密碼均為root。若登錄成功,提示如下:

          JAMES Remote Administration Tool 2.1
          Please enter your login and password
          Login id:
          Password:
          Welcome root. HELP for a list of commands

          需要注意的是,所有敲入的命令都不顯示在屏幕上。

          輸入help,將出現命令的幫助,信息如下:

          JAMES Remote Administration Tool 2.1
          Please enter your login and password
          Login id:
          Password:
          Welcome root. HELP for a list of commands
          Currently implemented commands:
          help display this help
          listusers display existing accounts
          countusers display the number of existing accounts
          adduser [username] [password] add a new user
          verify [username] verify if specified user exist
          deluser [username] delete existing user
          setpassword [username] [password] sets a users password
          setalias [alias] [user] locally forwards all email for alias t
          o user
          unsetalias [alias] unsets an alias
          setforwarding [username] [emailaddress] forwards a users email to another email
          address
          unsetforwarding [username] removes a forward
          user [repositoryname] change to another user repository
          shutdown kills the current JVM (convenient when J
          ames is run as a daemon)
          quit close connection

          常用的命令有listusers、countusers、adduser、deluser、setpassword等。

          其中添加用戶為adduser,例如:adduser holen 123456。

          通過這個后臺管理界面,管理員就可以實現賬號管理及其他相應的管理功能。

          6、 應用情況

          這套系統在該單位經過一周的試運行后,已正式運行兩個月,用戶數約百人,一直很穩定,期間,因操作系統故障,服務器重啟兩次,其他時間,一直處于運行狀態,性能穩定,響應速度快。

          四、FAQ

          1、 在啟動james時,提示POP3或SMTP不能使用?

          請檢查一下,看“管理工具—>服務”里面,是不是啟動了別的郵件服務器,已將110或25端口占用了。

          2、 JAVA_HOME找不到?

          請在run.bat中指定JAVA_HOME,若還不行,請在“我的電腦—>系統—>高級—>環境變量”中添加一項JAVA_HOME(一般不推薦這么做)。

          3、 服務器啟動正常,但客戶端不能收發郵件?

          請檢查客戶端配置是否正常,參照前面所講,另外,請檢查james下的config.xml,是否把localhost改成了機器名。

          五、總結

          總體而言,James是一款十分優秀的郵件服務器,具有性能穩定、擴展性好、可配置性強、響應速度快、源碼公開等優點。同時,由于James的后臺管理不夠方便、缺少必要的技術支持等原因,限制了james的高端企業級應用。

          就目前情況而言,James主要用于1000用戶量以內的郵件系統,而且當James用于商業性項目時,開發商一般需要對James進行相應的包裝,主要是后臺管理這一塊。

          主站蜘蛛池模板: 武乡县| 应城市| 丹寨县| 施秉县| 双牌县| 桃园县| 平遥县| 苍南县| 广昌县| 五台县| 四子王旗| 涿州市| 甘肃省| 惠东县| 内丘县| 简阳市| 隆尧县| 陇南市| 慈溪市| 澄江县| 邯郸市| 天峨县| 海城市| 永定县| 郴州市| 拜城县| 耿马| 正蓝旗| 桐乡市| 伊春市| 井冈山市| 阆中市| 玉林市| 芦山县| 剑河县| 偃师市| 周宁县| 定兴县| 灵川县| 洛宁县| 藁城市|