一年多了,上周又從APACHE下載了JAMES的最新版本拿來用,發現一年前寫的JAMES配置指南對新版本的JAMES上一樣適用,呵呵,懷念JAVA開發的時代,懷念JAMES,以下是文章全文
James2.1.3入門配置指南
James是一個純JAVA的郵件伺服器,而且是開放原始碼,網上目前也有很多
相關的配置指南,不過2.1.3版本比起以前的版本來說有些變化,經過一天的摸索,
我弄了個大概.
JAMES內建的說明文檔很簡單,許多地方都是一點帶過,光靠看說明文檔許多問題是解決不了的
由於JAMES也是APACHE的子項目,所以他的安裝也就是直接解壓就可以用了
拿我來說吧,解壓到d:/james下,解壓後,進入d:/james/apps目錄
裡面有個james.sar檔案,在該檔案上點擊右鍵用WINRAR解壓,注意不要修改預設的解壓路徑
然後進入D:/james-2.1.3/apps/james/SAR-INF,裡面的config.xml就是JAMES的核心設定檔了
首先更改伺服器名,預設都是localhost,要讓別人可以用你機器上的伺服器,就要改咯 ,我的機器名叫 mrp-cz
<postmaster>Postmaster@localhost</postmaster>改成<postmaster>Postmaster@mrp-cz</postmaster>
<servername>localhost</servername>改成<servername>mrp-cz</servername>
還有一些POP3和SMTP的連接埠設定這些,一般都不用改動的,用預設值就可以了
下面主要是說一下如果將JAMES跟資料庫想串連,以便跟自己的項目緊密結合起來, 在JAMES的說明檔案裡面說得太簡單了,
大家可以參考一下說明檔案裡面關於Repositories的說明
JAMES的資料存放方式有三種:file,db,dbfile
file就是以檔案方式儲存
db當然是資料庫
dbfile我個人感覺一般都不會用它的,它是把訊息頭用資料庫方式存放,而把訊息體用檔案方式存放
隨便說一下拉,拿檔案存放來說 D:/james-2.1.3/apps/james/var/mail裡面就是存放的信件內容
spool裡面是存放的正在處理的信件,而inbox裡面是存放的已發送郵件,資料庫也是一樣
D:/james-2.1.3/apps/james/conf/sqlResources.xml是SQL描述檔案,裡面支援
大部分主流資料庫,如果你用的資料庫在裡面沒有,自己增加就是
好了,開始配置了
先找到config.xml裡面的<database-connections>,預設裡面是沒有實際內容的,只有兩個被屏蔽了的例子
我用的MS SQL,所以就直接把MSSQL的那個例子拿來用了, 下面就是我的設定檔,跟JBOSS差不多
<data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
<driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver>
<dburl>jdbc:microsoft:sqlserver://mit-devserver:1433;DatabaseName=JAMES</dburl>
<user>sa</user>
<password>1</password>
<max>20</max>
</data-source>
name就是該串連的標識,以後設串連就都用它了
然後是郵件的存放設定,找到<inboxRepository>項
預設是<repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
屏蔽掉,在它下面有個例子 <repository destinationURL="db://maildb/inbox/" type="MAIL"/>,啟用它
然後是spool,找到<spoolRepository>將預設屏蔽掉
啟用<repository destinationURL="db://maildb/spool/spool" type="SPOOL"/>
然後是user,同樣將預設的去掉,改成
<repository name="LocalUsers" class="org.apache.james.userrepository.JamesUsersJdbcRepository" destinationURL="db://maildb/users">
<sqlFile>file://conf/sqlResources.xml</sqlFile>
</repository>
好了,配置完畢,啟動james吧,如果一切順利,在你指定的資料庫下面就會多5張表,具體細節不多說了,自己研究去吧
JAMES的控制是採用遠端控制手段
運行telnet mrp-cz(替換成你的機器名) 4555
預設的登入名稱和密碼都是root如果你要更改可以改寫config.xml裡面的<administrator_accounts>項
注意,一切都是暗箱操作,你輸入的任何命令都看不到,只有按了斷行符號以後才知道結果,人家是免費軟體有償服務,將就用吧,可以
鍛煉指法的準確性
輸入help,可以知道命令列表 ,這個不多說了
outlook的設定跟一般的設定沒什麼區別,就是在設定pop3和smtp伺服器位址的時候,直接輸入
伺服器機器名就可以了
另外,james會首先把郵件存放在spool裡面進行處理,所以有時馬上發了郵件收不到很正常,等一會就可以了
建議大家下載帶原始碼的版本,裡面值得學習的東西一大堆