- Home ›
- JavaMailでメール送信 ›
- 添付ファイルの送信 ›
- HERE
Messageクラスへのセット
広告
マルチパート部分が出来ましたら、それをMessageクラスのオブジェクトへセットする必要があります。添付ファイルが無く、本文だけだった場合は下記のように行っていました。
MimeMessage msg = new MimeMessage(session); msg.setText(msgText, "ISO-2022-JP");
上記のように"setText"メソッドで、本文を直接セットしていましたが、マルチパートをセットする場合は"setContent"メソッドを使います。
setContent public void setContent(Multipart mp) throws MessagingException
This method sets the Message's content to a Multipart object. Parameters: mp - The multipart object that is the Message's content Throws: IllegalWriteException - if the underlying implementation does not support modification of existing values IllegalStateException - if this message is obtained from a READ_ONLY folder. MessagingException -
よって、具体的な記述は下記のようになります。
try { MimeMessage msg = new MimeMessage(session); String filename = "c:¥¥temp¥¥filename.abc"; MimeBodyPart mbp = new MimeBodyPart(); FileDataSource fds = new FileDataSource(filename); mbp.setDataHandler(new DataHandler(fds)); mbp.setFileName(fds.getName()); msg.setContent(mp); } catch (MessagingException mex) { mex.printStackTrace(); }
以上でテキストや添付ファイルをマルチパートにセットする方法が分かりましたので、次のページではサンプルプログラムで実際に送信するところまでを見てみます。
( Written by Tatsuo Ikura )