James 收/发外网邮件的配置(没法给外网邮箱发送邮件)

 

James邮件服务器用的好好的,突然不能发外网邮箱了,查了两天配置没搞定,只好本身来看了。数据库

首先参考网上各类配置方案(不少也很全面了),下面列举了一个。看了半天感受没什么问题,只好停下来思考了。服务器

  1. 开始能正常使用,肯定配置没问题。
  2. 服务器网络环境没变,硬件没有问题。
  3. 能收,不能发,剩余的可能缘由以下:
    1. 防火墙拦截
    2. 程序运行中出现异常

关闭防火墙,重启服务无效。检查程序发送队列(邮件已消息队列形式存储在james-2.3.2\apps\james\var\mail\outgoing路径下),中止服务——》删除队列内容——》启动服务,发送邮件,瞬间收到邮件,搞定。网络

 

James配置:

前面已经知道了如何安装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,替换为域名。

相关文章
相关标签/搜索