您的位置:首页 > 运维架构 > Apache

apache james发送邮件的配置

2008-09-05 18:31 417 查看
以前从来没有碰过邮件服务器配置。
由于好多邮件服务器(163,sina,yahoo)都对邮件发送有限制,比如163的邮箱,新注册的用户是不可以利用客户端程序访问邮箱,所以很郁闷,好多学生都不知道是怎么回事,开始的时候我也不知道,在网上找了n久才知道这鸟情况。无语,学生的prj课要用到发邮件那怎么办啊学校机房又没联网,所以就想自己弄一个邮件服务器,让学生们玩玩。
哎,搞了好久终于把apache james邮件服务器配置完成(并且通过测试)。高兴中。。。,终于可以让学生用自己配置的邮件服务器了。其实整个配置过程是很简单的,但由于客户端程序的设置失误弄得我郁闷了好几个小时。而且昨天晚上电脑又不争气,老是自动关机。搞得我无语只好回家睡觉,但晚上睡到半夜都醒来了,都这鸟问题害的。我这个人就是这样的,如果一个问题没解决,半夜都会醒来想想的,哎,这毛病真不好。不说多了,反正是在高兴中。。。现在还是来说说配置:
1: 服务器端配置
一:先是到apache的网站上面下载一个james-binary-2.3.1.zip的包。
二:解压后找到里面的bin目录,运行里面的run.bat(前提是java的环境变量要配置好了。JAVA_HOME的配置方式)这里就不讲java环境变量的配置了。
三:运行完后,会在apps中多出一个james的目录。打开到里面找到SAR-INF文件夹里面的config.xml配置文件--打开
四:现在我们就开始修改config文件的内容了。找到<postmaster>Postmaster@localhost</postmaster>我们把localhost改为:liuxiang.com(名字自己取)
五:<servername>localhost</servername>把localhost改为同上。( 这里主要是用于 帐号@liuxiang.com)
六:<servernames autodetect="true" autodetectIP="true">把两个true都该为false不让邮件服务器自动侦测ip
七:注释掉 <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
<processor> relay-denied </processor>
<notice>550 - Requested action not taken: relaying denied</notice>
</mailet>
八:去掉<authRequired>true</authRequired>的注释,用邮件服务器发送邮件必需验证。
九:启动服务器。再打开cmd窗口通过telnet localhost 4555 登录到邮件服务器。用户名root密码一样
十:添加账户:adduser liuxiang 1234(输入help 就会把邮件服务器的所有命令显示给我们看)
2:客户端配置
根据刚刚我们服务器的配置,我们再来用foxmail的配置:
电子邮件地址:liuxiang@liuxiang.com
密码:1234
注意pop3服务器只能是自己的ip。(在cmd窗口输入ipconfig就可以看到我们自己的ip)
smtp服务器同上,自己的ip。
这样就配置成功了。
用java程序写smtp客户端。properties的设置如下:
Properties props = new Properties();
// 传输用的协议smtp
props.put("mail.transport.protocol", "smtp");
// 利用那个邮件服务发送
props.put("mail.smtp.host", "192.168.0.34");自己的ip
// 发送的端口号
props.put("mail.smtp.port", "25");
// 是否要验证
props.put("mail.smtp.auth", "true");
收邮件更加容易:
Session session = Session.getInstance(p, null);
Store store = null;
store = session.getStore("pop3");
store.connect("192.168.0.34", "liuxiang","1234");

通过这样我们可以对内网发送,也可以对外网发送,比如163。我测试通过。完。太容易了。
主要注意点就是pop3和smtp服务器的地址。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: