commons-emailって便利だね
勉強不足で知らなかった。以前の関西Groovy勉強会でid:kiy0takaさんがcommons-vfsを利用したプログラムを書いているという話をしてくれた。commonsについて勉強不足だったので、今日時間ができたので調べてみる。
便利なクラスいっぱいだ。メール管理クラスがあったので、GroovyでラッピングしてGmail専用クラスを作成してみた。
Grape使用なのでjarファイルは不要。
使い方
下記のいずれかで。
Gmail.groovy
#!/usr/bin/env groovyimport org.apache.commons.mail.* import javax.mail.* import javax.mail.internet.* @Grab(group='org.apache.commons', module='commons-email', version='1.2') class Gmail{ String acount String password String charset = "UTF-8"def send( String subject, String message, List<String> to, List<String> cc = [], List<String> bcc = [] ){ def email = new SimpleEmail( subject:subject, msg:message, from:this.acount, to:to.collect{ new InternetAddress(it) }, ssl:true, hostName:"smtp.gmail.com", sslSmtpPort:465, charset:this.charset ) if( cc ) email.cc = cc.collect{ new InternetAddress(it) } if( bcc ) email.bcc = bcc.collect{ new InternetAddress(it) } email.setAuthentication(this.acount, this.password) email.send() } }
Sample.groovy
#!/usr/bin/env groovynew Gmail( acount:"xxxxx@gmail.com", password:"yyyyy", ).send( "件名", "本文", ["zzzzz@softbank.ne.jp"], )
ディスカッション
コメント一覧
まだ、コメントがありません