2016-12-08 9 views
-1

私の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)

答えて

0

リソースをjbossサーバーのbinフォルダに配置することで問題を解決できました。