私はユーザーに電子メールを送信する簡単なスプリングアプリケーションを作成しました。これは "SimpleMailMessage"と完全に連携しているようです(メッセージ全体がプレーンテキストになります)。私が欲しいのは、添付ファイルとしていくつかのファイルを送信することです。したがって、私はjavax.mail.internet.MimeMessageを使用しようとしましたが、トレースすることができないいくつかのワイヤードエラーを取得しようとしました。以下は私のスニペットSpring JavaMailSenderを使用して添付ファイルまたはインラインでファイルを送信
try {
javax.mail.internet.MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message,true);
helper.setTo(employee.getEmailId());
helper.setFrom("[email protected]");
helper.setText(mailMessage, true);
helper.setSubject(subject);
FileSystemResource res = new FileSystemResource(new File("C:/software/Koala.jpeg"));
helper.addAttachment("happyBirthday", res);
mailSender.send(message);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
エラーがあるさ:
Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "javax.mail.internet.MimeBodyPart.setDataHandler(Ljavax/activation/DataHandler;)V" the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) of the current class, org/springframework/mail/javamail/MimeMessageHelper, and the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) for resolved class, javax/mail/internet/MimeBodyPart, have different Class objects for the type n/DataHandler;)V used in the signature
at org.springframework.mail.javamail.MimeMessageHelper.addAttachment(MimeMessageHelper.java:997)
at org.springframework.mail.javamail.MimeMessageHelper.addAttachment(MimeMessageHelper.java:1077)
at org.springframework.mail.javamail.MimeMessageHelper.addAttachment(MimeMessageHelper.java:1047)
at Example1.sendEmail(Example1.java:89)
すべてのヘルプは本当にいただければ幸いです。
まだ私は上記と同じエラーが発生しています – user3092131
おそらく2つのバージョンのJava Activation Frameworkによって問題が発生しているようです。 classpathからactivation.jarを削除することで問題が解決するかどうか確認してください。 – Sachin
jbossからactivation.jarを削除しただけでなく、jbossのlibフォルダにコンパイルされた特定のメールjarをすべて削除しました – user3092131