對於郵件服務器的安裝,請先參閱:
使用 Apache James 3.3.0(開源免費) 搭建內網電子郵件服務器(基於 Windows + Amazon Corretto 8)
之后進行如下操作/配置:
1.購買域名,比如 my_org.com .
2.確定可在外網使用的服務器/電腦。對於小公司/組織來說,可以租用雲服務器,比如,亞馬遜雲,阿里雲,等等。
3.更改域名DNS 中對應的郵件配置,將以下配置指向新的服務器 IP 或主機名。
| type | name | value | ttl |
| CNAME | imap-mail | xxx.compute.amazonaws.com | 1 hour |
| CNAME | smtp-mail | xxx.compute.amazonaws.com | 1 hour |
| CNAME | pop-mail | xxx.compute.amazonaws.com | 1 hour |
| MX | @ | xxx.compute.amazonaws.com | 1 hour |
4.如果使用的是租借雲服務器,比如 AWS, 或阿里雲,需要在雲服務器的 web 管理端,更改雲服務器的防火牆配置,允許以下端口的訪問:
| 郵件端口 | 郵件協議 |
| 110 | POP3 |
| 25 | SMTP |
| 143 | IMAP |
5. 修改 ${JAMES_ROOT}\conf\dnsservice.xml ,配置如下:
<servers> <server>8.8.8.8</server> </servers> <autodiscover>false</autodiscover> <authoritative>false</authoritative>
6.修改 ${JAMES_ROOT}\conf\smtpserver.xml, 防止被當成免費的 SMTP 垃圾郵件發送服務器。
將注釋去掉,使其生效:
<verifyIdentity>true</verifyIdentity> <authRequired>true</authRequired> <helloName autodetect="false">my_org.com</helloName>
以上配置的意思是,發郵件時,需要用戶登錄密碼。防止垃圾郵件發送者,把此郵件當作垃圾郵件發送的跳板,拼命經由此郵件服務器,往其它郵件服務器發大量的垃圾郵件。然后其它郵件服務器,會將剛安裝的郵件服務器拉入黑名單。
7.修改 ${JAMES_ROOT}\conf\mailetcontainer.xml ,配置如下:
將如下配置注釋起來:
<!-- <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor"> <processor>relay-denied</processor> <notice>550 - Requested action not taken: relaying denied</notice> </mailet> -->
8.停止、啟動 C:\apps\james-server-app-3.3.0\bin\run.bat 。
9.嘗試與外部郵箱,比如 xxx@qq.com, xxx@hotmail.com, xxx@gmail.com , 相互進行郵件發送、接收。
有可能發出的電子郵件,被放在對方的郵箱 "廢件箱"子目錄中。這種情況下,只能請對方收件人,手工移到"收件箱"子目錄中。或者對方的郵件服務器,做一些配置,不把我們發過去的郵件,自動放到郵箱 "廢件箱"里。
