James郵件服務器用的好好的,突然不能發外網郵箱了,查了兩天配置沒搞定,只好本身來看了。數據庫
首先參考網上各類配置方案(不少也很全面了),下面列舉了一個。看了半天感受沒什麼問題,只好停下來思考了。服務器
關閉防火牆,重啓服務無效。檢查程序發送隊列(郵件已消息隊列形式存儲在james-2.3.2\apps\james\var\mail\outgoing路徑下),中止服務——》刪除隊列內容——》啓動服務,發送郵件,瞬間收到郵件,搞定。網絡
前面已經知道了如何安裝JAMES,發送郵,收郵件,和數據庫鏈接;但這種配置只能接收本地服務器的郵件,也就是說,我用外網郵箱,如:網易,新浪等;給我在本地這個服務器的郵箱地址發一封郵件,或者我用本地郵件服務器的這個郵箱給外網發一封郵件,它是不會成功的.由於還有一些針對外網的配置要進行; app
1)配置郵件服務器域名或IP;測試
在發送郵件時確定要有個域名,如:4545@163.com;@符號後面的就是郵件服務器的域名;固然也有這種域名:ui
1212@36.52.12.36.com;域名用IP表示;但不管怎樣.這個域名都指向了一臺機器,就是郵件服務器;也就是安裝了JAMES的這臺機器;找到<servernames />項;配置以下:spa
<servernames > <servername>whsite.ine.net.cn</servername> </servernames>
2)DNS配置;這一步相當重要,稍不注意就沒法和外網聯繫;找到<dnsserver />項配置以下.net
<dnsserver> <servers> <server>202.103.24.68</server> <server>whsite.ine.net.cn</server> </servers> <autodiscover>false</autodiscover> <authoritative>false</authoritative> <maxcachesize>50000</maxcachesize> </dnsserver>
上面一個是本地DNS的IP,這個在本地鏈接裏能夠找到;下面一個就是郵件服務器;code
3)SMTP,POP3等..設置;server
a:找到:
<authorizedAddresses>127.0.0.0/8</authorizedAddresses>
將它改爲:
<authorizedAddresses>192.168.0.0/24, 127.0.0.0/8</authorizedAddresses> 或 <authorizedAddresses>192.168.0.0/255.255.255.0, 127.0.0.0/8</authorizedAddresses>
這裏設置後,只要在這個配置範圍內的IP發送或接收的郵件就不會被過濾;裏面的數值根據本地的網絡來設置,如:
我這裏的是192.168.0.0/24, 127.0.0.0/8;有可能有的是這樣:192.168.1.0/24, 127.0.0.0/8
b:找到:
<mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor"> <processor> relay-denied </processor> <notice>550 - Requested action not taken: relaying denied</notice> </mailet>
將它註釋掉;
c:找到<smtpserver />;將< authRequired />打開,設爲true:
<authRequired>true</authRequired>
d:找到<remotemanager />將它設置以下:
<remotemanager enabled="true"> <port>4555</port> <handler> <helloName >whsite.ine.net.cn</helloName> <administrator_accounts> <account login="root" password="oapro"/> </administrator_accounts> <connectiontimeout> 60000 </connectiontimeout> </handler> </remotemanager>
系統默認賬戶最好是改一下,否則別人能夠遠程登陸你的郵件服務器作壞事的;
e:將smtpserver,pop3server,兩個項下的<helloName >myMailServer</helloName>
裏的autodetect均設爲false;
重啓服務,測試外網郵件;
若是還不能成功發送,接收,採起以下非凡配置:
①、查找替換全部的 localhost爲域名
②、查找全部autodetect屬性,修改成false。autodetectIP也設爲false.
③、查找全部myMailServer,替換爲域名。