修改Apache James源码使其不存储邮件内容

 有这样一个场景,A向B发送一封邮件,服务器端得到邮件内容后进行处理,而不需要将该邮件存储在James Server上。

 

修改config.xml文件后,找到

<mailstore>
      <repositories>

         <!-- File based repositories.  These repositories store all message data -->
         <!-- in the file system. -->
         <repository class="org.apache.james.mailrepository.AvalonMailRepository">
            <protocols>
               <protocol>file</protocol>
            </protocols>
           
            <types>
               <type>MAIL</type>
            </types>
         </repository>
         <repository class="org.apache.james.mailrepository.AvalonSpoolRepository">
       
            <protocols>。。。

可以发现mail的存储使用org.apache.james.mailrepository.AvalonMailRepository来控制的,查看源码后发现这个类中有一个store方法,

所以可以这样:

写一个子类继承该类,只有一个方法,即复写父类的store方法,让其方法内容为空,然后在config.xml中配置

<repository class="org.apache.james.mailrepository.KryptMailRepository">

 

重新dist James,大功告成。

 

在用Ant 运行dist的时候,会产生错误,原因是我用的james 是2.3.2 的版本,而该版本是用的jdk1.4,不能识别注释(cong jdk1.5开始),我机器上是1.6,所以修改ant 中 javac的target 或source 属性,改为1.5或1.6即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值