领导指派给一个任务,搭建james邮件服务器
1、环境搭建
1)下载安装Java jdk
2)到Apache网站上下载James:http://james.apache.org/download.cgi#Apache_James_Server
2、启动James
1)解压下载的tar包,进入bin目录
2)赋予run.sh & phoenix.sh
执行权限chmod +x run.sh phoenix.sh
(run.sh & phoenix.sh
一开始没有执行权限)
3)执行./run.sh
,启动成功
注:James 启动时,其SMTP 服务默认在 25 端口启动,POP3 服务默认在 110 端口启动, NNTP 服务默认在 119 端口启动,远程服务在4555端口启动,请确保这些端口未被占用
注:第一次运行会在james/james-2.3.2.1/apps/james/SAR-INF目录下生成config.xml文件
3、配置config.xml文件
1)由于我们是在内网搭建,没有域名,所以需要在/etc/hosts
文件中做一个伪域名进行测试
127.0.1.1 view.com
2)配置localhost
<postmaster>Postmaster@localhost</postmaster>
<servernames autodetect="true" autodetectIP="true">
<servername>localhost</servername>
</servernames>
修改成
<postmaster>Postmaster@view.com</postmaster>
<servernames autodetect="false" autodetectIP="false">
<servername>view.com</servername>
</servernames>
把localhost
换成你想要的域名
autodetct
设为true会自动侦测你的主机名,设成false会用你指定的server name
autodetectIP
设为true会为你的servername
加上ip,如果开了一个用户test17,那么他的邮件地址就是test17@view.com
3)注释以下配置
<!--<mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
<processor> relay-denied </processor>
<notice>550 - Requested action not taken: relaying denied</notice>
</mailet>-->
4)配置所有的smtp server,pop3 server
…
查找所有的myMailServer
替换为域名
eg:
<helloName autodetect="true">myMailServer</helloName>
修改为:
<helloName autodetect="true">view.com</helloName>
5)设置smtpserver
身份认证
取消注释:
<authRequired>true</authRequired>
以上设置好了,重启james
服务
4、创建邮箱账号
1)进入控制台:telnet localhost 4555
2)默认root密码:root/root
3)创建用户:adduser test17 123456789
5、Foxmail测试
收到邮件是这样:
发件人为新建的james用户+域名