使用 Apache James 3.3.0(開源免費) 搭建內網電子郵件服務器(基於 Windows + Amazon Corretto 8)


電子郵件服務器,對於很多公司,都是需要的。

雖然現在很多人,使用 QQ 、微信進行一對一的工作溝通,使用QQ 群、微信群進行多人溝通,但這些即時聊天工具,與電子郵件相比,仍有很多不足:

a. 電子郵件正文內容,可以進行直接排版,修改字體名、字體大小、顏色、插入表格等,而即時聊天工具需要將排版內容放在附件中,聊天正文沒有如此多的格式。

b. 大段文字的錄入,電子郵件優勢明顯。

c. 過去的多次交流記錄,電子郵件的搜索、歸類功能(可以將某些郵件,移到同一個目錄),強過聊天工具。

d. 電子郵件的群發,回復時,可隨意添加幾個人新的收件人、減去幾個收件人,而即時聊天工具的“聊天群”,正常情況下,只增不減,因減去了一個人,往往被別人知道、且容易讓別人不爽。導致“聊天群”的成員越來越多,最后群里的某些人說話,與群里大都數人都無關。於是大多數人都選擇設置其“消息免打擾”,“聊天群”失去了工作的效率。

e. 聊天工具的即時性本質,導致很多都是快問快答,這與工作強調認真、思考的原則不符。

當然,這不是工具的錯。

聊天工具里,別人問你一件事,你也可以想個四五個小時再答復,只是那樣顯得不太禮貌,且與大多數人的期望不符:即時聊天工具,就是要快問快答。

而使用電子郵件,本就允許對方多思考一會兒再回答。

 

如果決定了要搭建公司/組織的內部電子郵件服務器,可使用 Apache James(全稱是 Java Apache Mail Enterprise Server)。這是一款開源免費軟件,使用 Java 開發,可運行於 Windows /Linux 等大多數操作系統上。

以下是安裝配置步驟:

1. 下載 JRE 8 .

可使用 Amazon Corretto 8, 文件大小 46M. 下載網址為:
https://aws.amazon.com/cn/corretto/
https://corretto.aws/downloads/resources/8.242.08.1/amazon-corretto-8.242.08.1-windows-x64-jre.zip

 

2. 解壓縮 JRE 到 C:\apps\jre8 .也可放在其它目錄。

Java 相關程序,建議目錄路徑中不要包含空格

以下文字中, ${JRE_HOME} 代指 C:\apps\jre8

 

3. 下載 Apache James 3.3.

不要下載 Apache James 3.4,這個版本安裝配置很困難,可能是發布時打包有些問題。

下載網址為:

https://james.apache.org/download.cgi#Apache_James_Server
https://archive.apache.org/dist/james/server/3.3.0/james-server-app-3.3.0-app.zip

 

4. 解壓縮到 C:\apps\james-server-app-3.3.0。

也可以放在其它目錄。同理,建議目錄路徑中不要包含空格

以下文字中, 以下 ${JAMES_ROOT} 代指 C:\apps\james-server-app-3.3.0

 

5.備份目錄:

${JAMES_ROOT}\bin
${JAMES_ROOT}\conf

 

6.修改 ${JAMES_ROOT}\bin\setenv.bat , 新增行:

    set JAVA_HOME=C:\apps\jre8
    set JAVACMD=C:\apps\jre8\bin\java.exe

 

7. 准備一個郵件域名,比如 my_org.com 為電子郵件域名,即 jack@my_org.com 的后半部分。

企業內部郵箱,無需購買域名。

 

8. 修改 C:\Windows\System32\drivers\etc\hosts , 增加行:

    127.0.0.1 my_org.com

 

此處,

此配置是為了避免死循環

某些情況下,jack@my_org.com 發送一封郵件到 tom@my_org.com,可能會被郵件服務器誤以為是外部的郵箱地址,然后保存郵件到本地外發隊列中,以 SMTP 郵件協議發出去。然后自己的 SMTP 服務器程序又收到此郵件。形成反復。

具體原因,可能是郵件服務器的具體實現問題,也可能是電子郵件服務器與 DNS 服務器相互配合的配置問題。

 

9. 修改 ${JAMES_ROOT}\conf\dnsservice.xml ,配置如下:

   <servers>
        <server>127.0.0.1</server>
   </servers>

   <autodiscover>false</autodiscover>
   <authoritative>false</authoritative>

意思是使用本地的 DNS 服務。一般來說,郵件服務器上,不同時安裝 DNS 服務。

這種配置,就是說,即使  tom@my_org.com 發郵件到 help@other.com, 郵件服務器也不去詢問公司內部的 DNS 服務器,other.com 對應的 IP 是多少,直接當成僵屍郵件,簡單、直接、不廢話。

 

10.修改 ${JAMES_ROOT}\conf\domainlist.xml ,配置如下:

    <domainlist class="org.apache.james.domainlist.jpa.JPADomainList">
        <autodetect>false</autodetect>
        <autodetectIP>false</autodetectIP>
        <defaultDomain>my_org.com</defaultDomain>
    </domainlist>

 

11.修改 ${JAMES_ROOT}\conf\mailetcontainer.xml ,配置如下:

    <context>
        <postmaster>my_org.com</postmaster>
    </context>

 


12. 開啟帶管理員權限的 DOS 窗口,啟動 JAMES run.bat.

    cd C:\apps\james-server-app-3.3.0\bin
    c:
    run.bat

得到輸出 Apache James Server is successfully started

:

...
INFO  13:21:50,959 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | IMAP Service connection backlog is: 200
INFO  13:21:51,000 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | Init IMAP Service done
INFO  13:21:51,158 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | Manage Sieve Service disabled by configuration
INFO  13:21:55,518 | org.apache.james.app.spring.JamesAppSpringMain | Apache James Server is successfully started in 34397 milliseconds.

 

13. 開啟新的 DOS 窗口,新建郵件服務器的“域”。

此處可能會報錯:域已經存在。可忽略此報錯。

    cd C:\apps\james-server-app-3.3.0\bin
    c:
    james-cli.bat -h 127.0.0.1 -p 9999 adddomain my_org.com 

14. 新建電子郵件用戶及電子郵件地址:

    james-cli.bat -h 127.0.0.1 -p 9999 AddUser test1@my_org.com Password12345

可以執行多次,以添加不同的用戶賬號及電子郵件。

Apache James 系統內部,區分用戶賬號、郵箱地址,是不同的概念。

一般使用用戶,可以當成電子郵件就是用戶賬號。

 

 

15. 更改 Windows 防火牆設置的“入站規則”,允許以下端口的訪問:

110 pop3
25 smtp
143 imap

 


16. 使用 james.bat 安裝成 Windows 服務。

配置開機自行啟動。

配置對應的運行賬號。

Windows 系統里的郵件服務器,通常使用帶網絡權限的系統賬號,或用戶賬號。一般應避免使用 Windows 系統管理員用戶賬號。

 

17. 各用戶使用電子郵件客戶端工具軟件,比如 Mozilla Thunderbird , 添加 IMAP 郵件賬號,連接到此郵件服務器。

如此,同一個人,可使用多台電腦,查看電子郵件。郵件保存在郵件服務器上。

如果用戶在電子郵件客戶端工具軟件里配置使用 POP3 郵件協議,則郵件會收到用戶電腦上、並從郵件服務器上刪除。

在電子郵件客戶端工具軟件上,可選擇 IMAP 、POP3 郵件協議。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM