私がやりたいのは、1つまたは複数のPDFを電子メールに添付することです。私は現在、MimeMessage
問題なく機能するメールを送信するために使用しています。ただし、問題は、ファイルを添付する方法がわからないことです。(より具体的には、itextを使用して作成したPDF)。
例やヒントをいただければ幸いです。
私がやりたいのは、1つまたは複数のPDFを電子メールに添付することです。私は現在、MimeMessage
問題なく機能するメールを送信するために使用しています。ただし、問題は、ファイルを添付する方法がわからないことです。(より具体的には、itextを使用して作成したPDF)。
例やヒントをいただければ幸いです。
この読み物(「メモリ内のPDFレポートを作成し、iTextとJavaを使用して電子メールの添付ファイルとして送信する方法」)は、次のことに役立ちます。
に添付ファイルを作成しMimeMessage
(javadocsを参照)、コンテンツタイプをに設定し、そのコンテンツを"application/pdf"
取得してOutputStream
、PDFのバイトをそれに書き込みます(Apacheのcommons-ioを使用IOUtils
)。
CommonsEmailと呼ばれる有名なApacheJakartライブラリを使用できます。
メールがhtml形式の場合は、次のコードを使用できます。
HtmlEmail email = new HtmlEmail();
email.setSubject("<your subject>");
email.setHtmlMsg("<your html message body>");
email.setHostName("<host>");
email.setFrom("<from_address>");
email.addTo("<recipient_address>");
email.send();
次に、PDFファイルを添付します
EmailAttachment attachment = new EmailAttachment();
String filePath = "pathtofile";
attachment.setPath(filePath);
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("description for this attachment");
email.attach(attachment);
それ以外の場合は、MultiPartEmailクラスを使用する必要があります。
お役に立てば幸いです...
ROb