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服务器的地址。