commons-emailで複数の添付ファイルをつけて送信する
commons-emailで添付ファイルをつけて送る方法はいっぱい出てきたんだけど、複数のファイルを添付したい場合ってのがなんか見つからなかった。でも、すげー簡単だから書くまでもないって感じなのかな。
添付ファイルありのメールを送る方法はここ(Java メールの送信が参考になるかな。
メールに添付をするときは、EmailAttachmentクラスを使うんだけど、複数添付したい場合、このオブジェクトを複数作ってattachしてやればいいだけでした。以下のように。
MultiPartEmail email = new MultiPartEmail(); //・・・略: メールサーバの指定や、From, Toアドレスの指定、件名、メッセージ内容の指定 // 一つ目のファイル EmailAttachment attachment1 = new EmailAttachment(); attachment1.setPath("/home/hironemu/file1.txt"); attachment1.setDisposition(EmailAttachment.ATTACHMENT); email.attach(attachment1); // 二つ目のファイル EmailAttachment attachment2 = new EmailAttachment(); attachment2.setPath("/home/hironemu/file2.txt"); attachment2.setDisposition(EmailAttachment.ATTACHMENT); email.attach(attachment2); // 他にも添付したいのがあったら同様に繰り返す。 // 送信 email.send();
試したバージョンは以下の通り
- commons-email 1.1
- JavaMail 1.4