apache james 搭建邮件服务器

apache james 搭建邮件服务器

前言:我只实现了利用james来发送邮件,至于接收邮件没有测试过。

网上的资料有很多,感兴趣的话也可以搜索一下。我也是根据网上的资料,进行汇总并尝试,思考后写的文章,里面引用了网上的部分资料。无废话,开始干~

 

前置工作:

 

  1. 由于Apache James邮件服务需要用到1024以下的端口,因此请用root用户登录进行部署
  2. 需要先安装JDK1.5或以上版本,部署前请确保您的JDK环境变量如JAVA_HOME等已经设置好
  3. James 启动时,其SMTP 服务默认在 25 端口启动,POP3 服务默认在 110 端口启动, NNTP 服务默认在 119 端口启动, 请确保这些端口未被占用。
    Linux下查过这些端口是否被占用的命令是:lsof -i:端口号,例如:


     表示25端口被 sendmail (linux下默认的邮件服务)占用

        关闭SendMail服务:
        一般RedHat的系统安装时都会默认安装了sendmail邮件服务,因此在部署ApacheJames时,需要把 sendmail关闭。可以通过以下方法来关闭sendmail,以防止系统重启时又自动启动sendmail服务。
        a) 用chkconfig --list sendmail命令查看sendmail的情况
     

        b) 通过chkconfig sendmail off命令来关闭sendmail的启动
        chkconfig sendmail off 

        c) 这时再用chkconfig --list sendmail命令可以查看到sendmail的所有启动级别都已经关闭了
   
 

正式部署:

 

1.     解压Apache James包(apache-james-2.3.2.tar.gz):

        [root@susun177 local]# tar zxvf apache-james-2.3.2.tar.gz

 

        解压后,会多了一个目录james-2.3.2

2.     进入james-2.3.2/bin目录,运行run.sh,生成james的配置文件config.xml

        [root@susun177 bin]# sh run.sh 

       run.sh: line 37: /usr/local/james-2.3.2/bin/phoenix.sh: 权限不够

 

        权限不够(估计是解压后run.sh文件没有赋予执行权限),可以执行以下命令:

        [root@susun177 bin]# chmod +x run.shphoenix.sh

        然后再次运行run.sh命令:

        [root@susun177 bin]# sh run.sh

       Using PHOENIX_HOME:   /usr/local/james-2.3.2

          Using PHOENIX_TMPDIR: /usr/local/james-2.3.2/temp

          Using JAVA_HOME:      /usr/java/jdk1.5.0

          Running Phoenix: 

         Phoenix 4.2

          James Mail Server 2.3.2

          Remote Manager Service started plain:4555

          POP3 Service started plain:110

          SMTP Service started plain:25

          NNTP Service started plain:119

          FetchMail Disabled

 

        说明James启动成功。

3.     按Ctrl + C退出James,编辑config.xml文件。

        生成的config.xml放置在../james-2.3.2/apps/james/SAR- INF目录下

        修改的方法有很多种。

 

主要地方有:

        1. <postmaster>Postmaster@自己邮件服务器的域名.com</postmaster>

            这里的“自己邮件服务器的域名.com”就是别人收信的时候看到的发件人是谁。

            同时将/etc/hosts里面添加 127.0.0.1 自己邮件服务器域名.com

        2. 将

 <servernames autodetect="true" autodetectIP="true">

            改为

<servernames autodetect="false" autodetectIP="false">

 

        3. 并在<servernames>的下级标签修改自己成自己的域名

 

<<span style="width: auto; height: auto;" id="19_nwp"><a target=_blank style="text-decoration: none;" target="_blank" href="http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Emyexception%2Ecn%2Fapache%2F1468802%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=wangyuead_cpr&k=server&k0=server&k1=%D3%F2%C3%FB&k2=%D3%CA%BC%FE&k3=phoenix&k4=linux&k5=%D3%CA%BC%FE%B7%FE%CE%F1%C6%F7&sid=8713e2f6e9ed16e4&ch=0&tu=u1828791&jk=ffb1bdeaa3309920&cf=29&fv=15&stid=9&urlid=0&luki=6&seller_id=1&di=128" id="19_nwl"><span style="font-size:14px;color:#0000ff;width:auto;height:auto;float:none;">server</span></a></span>name>自己<span style="width: auto; height: auto;" id="20_nwp"><a target=_blank style="text-decoration: none;" target="_blank" href="http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Emyexception%2Ecn%2Fapache%2F1468802%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=wangyuead_cpr&k=%D3%CA%BC%FE%B7%FE%CE%F1%C6%F7&k0=%D3%CA%BC%FE%B7%FE%CE%F1%C6%F7&k1=%D3%CA%BC%FE%B7%FE%CE%F1&k2=%CA%FD%BE%DD%BF%E2&k3=james&k4=java&k5=server&sid=8713e2f6e9ed16e4&ch=0&tu=u1828791&jk=ffb1bdeaa3309920&cf=29&fv=15&stid=9&urlid=0&luki=1&seller_id=1&di=128" id="20_nwl"><span style="font-size:14px;color:#0000ff;width:auto;height:auto;float:none;">邮件服务器</span></a></span>的<span style="width: auto; height: auto;" id="21_nwp"><a target=_blank style="text-decoration: none;" target="_blank" href="http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Emyexception%2Ecn%2Fapache%2F1468802%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=wangyuead_cpr&k=%D3%F2%C3%FB&k0=%D3%F2%C3%FB&k1=%D3%CA%BC%FE&k2=phoenix&k3=linux&k4=%D3%CA%BC%FE%B7%FE%CE%F1%C6%F7&k5=%D3%CA%BC%FE%B7%FE%CE%F1&sid=8713e2f6e9ed16e4&ch=0&tu=u1828791&jk=ffb1bdeaa3309920&cf=29&fv=15&stid=9&urlid=0&luki=7&seller_id=1&di=128" id="21_nwl"><span style="font-size:14px;color:#0000ff;width:auto;height:auto;float:none;">域名</span></a></span>.com</servername>

 
        4.修改inbox的存储位置。

           将

<inboxRepository>
     <repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
</inboxRepository>

 

         注释掉或修改为下面的,表示利用数据库来存储,而不是文件的形式
<inboxRepository>
     <repository destinationURL="db://maildb/inbox/" type="MAIL"/>
</inboxRepository>

 

           注:如果修改成了dbfile协议,代表邮件头在数据库,邮件体在文件

          5. 注释掉服务网段,如果需要校验,则开启。

<!-- <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
            <processor> relay-denied </processor>
            <notice>550 - Requested action not taken: relaying denied</notice>
</mailet> -->

 

         

          6. 修改outgoing的存储为数据库

          将

           <mailet match="All" class="RemoteDelivery">

               <outgoing> file://var/mail/outgoing/ </outgoing>

          改成

               <outgoing> db://maildb/spool/outgoing </outgoing>
       

 

        7. 同理,找到spool的配置,将文件的改为数据库存储。

        8. 修改dnsserver,由于邮件服务器发送邮件的时候肯定是往外网发,所以需要dns来做发送时,投递给对面接受服务器域名时的解析工作。
      

 

         同时修改james的配置。
      

      同时修改这2个参数为false
      

 

        9. 修改校验
       

 

        10.修改接受时的网段地址(自己根据需求也可以设置不同的值)
      

      11. 修改添加删除邮件账户时的存储为数据库。注释掉上面的
  

         12. 新建jdbc数据源
       

     13. 复制mysql-connection.jar 到 ../james-2.3.2/lib 下,这样就能加载上了。

        14. 重启james服务,基本就OK了。

        15. 添加邮件服务器的账号。默认的登陆id 为root 密码也为 root 

          可以输入help来获取帮助。

 

附上james的下载(我的云盘):http://pan.baidu.com/s/1h57fQ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值