groovy ant 发送邮件

在日常的工作处理中,常常会要求我们对一项任务快速完成,且这项任务以后可能就不会出现,如果我们靠写java代码去完成,那可能就太复杂了, 解决的方法是请出我们的脚本语言, 脚本语言具有快速开发的优势。 作为java开发人员,groovy是我们的首选的脚本语言,其优点我就不多说了,大家可以去google下. ant作为一个构建工具,已给我们提供了很多的日常工作常见的任务处理。所以整合groovy 与 ant 将是我们今天日常工作处理的一大利器。

ant 发送邮件要依赖mail.jar和activation.jar(如果你的jdk>=6,则可以不要它),它们可以在spring/lib/j2ee目录下找到。把它们放到 ant_home/lib下。

接下来是写ant任务

<target name="send-mail">  
  <mail mailhost="smtp.163.com" user="your_name" password="your_password" subject="邮件主题">  
     <from address="[email protected]"/>  
     <to address="[email protected]"/>  
     <message>邮件内容</message>  
   </mail>  
</target>

如果要用groovy 来整合,则我们要把mail.jar和activation.jar及ant_home/lib/ant-javamail.jar 复制到groovy_home/lib下, 接下来写如下groovy代码

ant = new AntBuilder()
 
 def mail(subject, body, attachment = [dir:".",files:[]]) {
     ant.mail(mailhost:"mail.com", mailport:"1025", user:"mailer", password:"123", subject:"${subject}") {
         from(address:"[email protected]")
         to(address:"[email protected]")
         message("${body}")
        attachments() {
             if (attachment.files) {
                 fileset(dir:"${attachment.dir}") {
                     attachment.files.each {
                         include(name:it)
                     }
                 }
             }
         }
     }
 }
 
attachment = [dir:"/tmp", files:["some.properties","some.sql"]]
mail("Test mail message at ${new Date()}", "This is a test message.", attachment)
 

关于groovy整合ant,大家可以参考

http://groovy.codehaus.org/Using+Ant+from+Groovy

http://docs.codehaus.org/display/GROOVY/Using+Ant+Libraries+with+AntBuilder

http://www.onjava.com/pub/a/onjava/2007/03/23/using-groovy-to-send-emails.html?page=3

http://memo.feedlr.com/?p=5

整合spring与邮件发送

http://grails.org/Sending+SMTP+Authenticated+Email,+Html+content+with+GroovyTemplates+and+Spring+integration

相关推荐