Apache JAMES部署
Apache?JAMES是一個(gè)跨平臺(tái)、全功能的Java郵件服務(wù)器,其部署流程如下:
(1)配置好Java環(huán)境,確保PATH中找到Java,JAVA_HOME指向JRE所在的文件夾。
(2)修改conf文件夾下的domainlist.xml,添加所需要的域名,這里使用XML配置文件中的域名,比如
添加了test.net和test.com兩個(gè)域名,以后郵件地址就是xxx@test.net或者yyy@test.com。
(3)修改conf文件夾下的james-database.properties配置數(shù)據(jù)庫。這里出于性能考慮沒有采用內(nèi)置的Derby,而是使用了PostgreSQL:
這之前要?jiǎng)?chuàng)建好PostgreSQL數(shù)據(jù)庫,并在用戶目錄下的\AppData\Roaming\postgresql文件夾中放置名為postgresql.?crt的客戶端訪問證書、postgresql.txt的客戶端密鑰和root.crt的CA證書。
(4)配置SMTP、POP3、IMAP服務(wù)器。其配置在conf文件夾下的smtpserver.xml、imapserver.xml、pop3server.?xml中??蔀槠涮砑覵SL支持,但socketTLS和startTLS只能選擇一種,推薦socketTLS,因?yàn)閟tartTLS協(xié)議存在很大的漏洞。
(5)創(chuàng)建郵件服務(wù)器TLS證書。根據(jù)實(shí)踐,服務(wù)器的TLS證書只能使用OpenSSL去生成,然后轉(zhuǎn)換為JKS。Keytool生成的CA證書總是不被Firefox或者Thunderbird認(rèn)可:
把生成的server.jks放到conf/keystore文件夾中。注意:keytool轉(zhuǎn)換PKCS12證書的時(shí)候,JKS密鑰庫和PKCS12密鑰庫的密碼必須一致,否則會(huì)拋出UnrecoverableException!然后去imapserver.xml中配置:
(6)生成郵件客戶端中使用的S-MIME證書。注意,在Thunderbird啟動(dòng)FIPS模式的情況下,只能使用SHA-1簽名的客戶端證書!
客戶端證書里要在SAN中注明所有發(fā)送、接受方的郵件地址。