私のJBossサーバーから画像の添付ファイル付きの電子メールを送信しようとしています。私は日イードを使用しています。電子メールの添付ファイルで送信するイメージリソースはどこに置くべきですか?eclipseからJBossサーバーを使用して画像を添付した電子メールを送信する
BodyPart messageBodyPart = new MimeBodyPart();
String htmlText = "<H1>Hello</H1><img src=\"cid:image\">";
messageBodyPart.setContent(htmlText, "text/html");
// add it
multipart.addBodyPart(messageBodyPart);
// second part (the image)
messageBodyPart = new MimeBodyPart();
DataSource fds = new FileDataSource("Logo.png");
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID", "<image>");
// add image to the multipart
multipart.addBodyPart(messageBodyPart);
// put everything together
msg.setContent(multipart);
// Send message
Transport.send(msg);
上記のコードでは、Logo.pngを提供しています。ここで、そのファイルをフォルダ階層に配置する必要があります。
フォルダ構造は次のとおりです。
project-backend
-DeployedResources
-src
--main
---java
----com
-----abc
------utils
-------EmailUtil.java -> File with the email sending logic
---resources
----META-INF
-----persistence.xml
---webapp
----WEB_INF
-----beans.xml
-----web.xml
は私がラインでのエラーを取得しています毎回により、複数の場所でそのファイルを配置してみました: //メッセージ Transport.send(MSG)を送信します。
エラーがある:
java.lang.NullPointerExceptionが javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:226) javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java :299) javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1375) javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1021) javax.mail.internet.MimeMultipart.updateHeaders(のMimeMultipart。 java:419) javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1354) javax.mail.in .com.abc.utils.EmailUtil.sendEmail(EmailUtil.java:69) .Transport.send(Transport.java:123)