James发送外网邮件配置
2010-12-08 14:11
381 查看
2010-12-01 15:33
1. 下载James 2.3.1 2、解压,并运行一次。系统会在apps目录下面生成一些初始化的配置文件。如果第一次运行有问题,用netstat检查一下是否有系统默认的端口被占用了,比如110,25等。 3、修改apps/james/SAR-INF/config.xml ①、查找替换所有的localhost为你的域名,比如baobaodi.com 【如果你没有一个域名,那么可以在system32/drivers/etc/hosts文件中添加一个伪域名用于测试,192.168.0.60 baobaodi.com】 ②、查找所有autodetect属性,修改为false。 autodetectIP也设为false. ③、注释掉 <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor> <processor> relay-denied </processor> <notice>550 - Requested action not taken: relaying denied</notice> </mailet> ④、配置DNS Server 用ipconfig /all查看你的DNS配置,添加到列表中 <dnsserver> <servers> <server>202.106.148.1</server> </servers> </dnsserver> 如果是伪域名,还需要将本机地址也列进去,最好放到第一位。<server>192.168.0.60</server> ⑤、配置smtp server,pop3 server等 查找所有myMailServer,替换为你的域名。如: <helloName autodetect="false">myMailServer</helloName>,将myMailServer修改为你的域名。比如:baobaodi.com 如果不配置这一步,会出现504 5.5.2 <myMailServer>: Helo command rejected: need fully-qualified hostname错误。 Apache James是最好用的开源Java邮件服务器之一,在配置smtp服务过程中,有些步骤不对的话邮件就发送不出去。 0.打开james-2.2.0/apps/james/SAR-INF/config.XML文件 1.transport 注释掉 <!--mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor"> <processor> relay-denied </processor> <notice>550 - Requested action not taken: relaying denied</notice> </mailet--> 使用smtp认证方式 2.dnsserver 输入服务器的DNS IP,例如: <server>202.96.134.133</server> <server>202.96.128.110</server> <server>202.96.128.68</server> 设置autodiscover为false 如果设置为自动探测的话,在我的机器上会报错: James.Mailet: RemoteDelivery: Temporary exception delivering mail (Mail1098776398187-0-to-somedomain.com: javax.mail.MessagingException: There are no DNS entries for the hostname somedomain.com. I cannot determine where to send this message. at org.apache.james.transport.mailets.RemoteDelivery.deliver(RemoteDelivery.java:398) at org.apache.james.transport.mailets.RemoteDelivery.run(RemoteDelivery.java:912) at java.lang.Thread.run(Thread.java:534) 3.修改root口令。account login="root" password="mypassword" 4.smtpserver 打开smtp认证 <authRequired>true</authRequired> 5.重新启动James 6.telnet server-name 4555,增加用户 7.就可以用outlook等发送邮件了。 ============================================================== 这是我去年在csdn上发的文章,我用的版本是2.1.3的,连外网还没试过,我再试一下 james自带的说明文档很简单,许多地方都是一点带过,光靠看说明文档许多问题是解决不了的 由于james也是apache的子项目,所以他的安装也就是直接解压就可以用了 拿我来说吧,解压到d:/james下,解压后,进入d:/james/apps目录 里面有个james.sar文件,在该文件上点击右键用winrar解压,注意不要修改默认的解压路径 然后进入d:/james-2.1.3/apps/james/sar-inf,里面的config.xml就是james的核心配置文件了 首先更改服务器名,默认都是localhost,要让别人可以用你机器上的服务器,就要改咯 ,我的机器名叫 mrp-cz <postmaster>postmaster@localhost</postmaster>改成<postmaster>postmaster@mrp-cz</postmaster> <servername>localhost</servername>改成<servername>mrp-cz</servername> 还有一些pop3和smtp的端口设置这些,一般都不用改动的,用默认值就可以了 在outlook里面设置pop3和smtp地址的时候,不许要写端口号,直接写服务器地址就可以了 下面主要是说一下如果将james跟数据库想连接,以便跟自己的项目紧密结合起来, 在james的说明文件里面说得太简单了, 大家可以参考一下说明文件里面关于repositories的说明 james的数据存放方式有三种:file,db,dbfile file就是以文件方式储存 db当然是数据库 dbfile我个人感觉一般都不会用它的,它是把消息头用数据库方式存放,而把消息体用文件方式存放 随便说一下拉,拿文件存放来说 d:/james-2.1.3/apps/james/var/mail里面就是存放的信件内容 spool里面是存放的正在处理的信件,而inbox里面是存放的已发送邮件,数据库也是一样 d:/james-2.1.3/apps/james/conf/sqlresources.xml是sql描述文件,里面支持 大部分主流数据库,如果你用的数据库在里面没有,自己增加就是 目前支持mssqlserver,mysql,oracle等主流数据库 好了,开始配置了 先找到config.xml里面的<database-connections>,默认里面是没有实际内容的,只有两个被屏蔽了的例子 我用的ms sql,所以就直接把mssql的那个例子拿来用了, 下面就是我的配置文件,跟jboss差不多 <data-source name="maildb" class="org.apache.james.util.mordred.jdbcdatasource"> <driver>com.microsoft.jdbc.sqlserver.sqlserverdriver</driver> <dburl>jdbc:microsoft:sqlserver://mit-devserver:1433;databasename=james</dburl> <user>sa</user> <password>1</password> <max>20</max> </data-source> name就是该连接的标识,以后设连接就都用它了 然后是邮件的存放设置,找到<inboxrepository>项 默认是<repository destinationurl="file://var/mail/inboxes/" type="mail"/> 屏蔽掉,在它下面有个例子 <repository destinationurl="db://maildb/inbox/" type="mail"/>,激活它 然后是spool,找到<spoolrepository>将默认屏蔽掉 激活<repository destinationurl="db://maildb/spool/spool" type="spool"/> 然后是user,同样将默认的去掉,改成 <repository name="localusers" class="org.apache.james.userrepository.jamesusersjdbcrepository" destinationurl="db://maildb/users"> <sqlfile>file://conf/sqlresources.xml</sqlfile> </repository> |
相关文章推荐
- Apache James邮件服务器配置及发送外网邮件
- James邮件服务器简单介绍及配置发送外网邮件
- Apache James邮件服务器配置及发送外网邮件
- James发送外网邮件配置
- Apache James邮件服务器介绍及配置发送外网邮件
- Apache James邮件服务器介绍及配置发送外网邮件
- James邮件服务器简单介绍及配置发送外网邮件【转】
- Apache James邮件服务器配置及发送外网邮件
- Apache James邮件服务器配置及发送外网邮件
- Apache James邮件服务器介绍及配置发送外网邮件(转)
- Apache James邮件服务器配置及发送外网邮件
- 邮件发送--局域网中配置James邮件服务器(二)
- 用Apache James 向外网发送邮件
- 在windows平台使用Apache James搭建邮件服务器以及使用C#向外网发送邮件
- Apache James 发送邮件到外网
- apache james发送邮件的配置
- edx 配置smtp发送邮件
- PHP 发送邮件配置 转发自http://www.cnblogs.com/dee0912/p/5448350.html
- nagios配置sendmail发送邮件
- scrapy通过修改配置文件发送状态邮件