Добавление изображения в электронную почту через почту Java - PullRequest
0 голосов
/ 14 сентября 2009

Вот мой код:

MimeMessage mail = new MimeMessage(session);
mail.setFrom(from);
MimeMultipart multipart = new MimeMultipart("related");
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(bodyText, "text/html");

multipart.addBodyPart(htmlPart);

MimeBodyPart imgPart=new MimeBodyPart();
String path = "/ivr/imagelogos/accenture.jpg";
DataSource ds=new FileDataSource(path);
imgPart.setDataHandler(new DataHandler(ds));    
imgPart.setHeader("Content-ID","the-img-1");
multipart.addBodyPart(imgPart);

mail.setContent(multipart);

mail.setSentDate(new Date());
mail.setHeader("X-Mailer", "ALS Notifier Build 1.0.0.10");

// send the message
Transport.send(mail);

Код запускается в окне Unix - путь к изображению основан на путях файлов Unix.

После запуска кода я получаю эту ошибку:

IOException while sending message
javax.mail.MessagingException: IOException while sending message;
  nested exception is:
        java.io.FileNotFoundException: /ivr/imagelogos/accenture.jpg (No such file or directory)
        at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:676)

Ответы [ 2 ]

2 голосов
/ 14 сентября 2009

Похоже, что файл /ivr/imagelogos/accenture.jpg не существует. Вы уверены, что это правильный путь? Может быть, это должно быть относительно другого пути? Если он существует, имеет ли пользователь, запускающий приложение Java, права на чтение?

1 голос
/ 01 мая 2014

Img src= - наиболее эффективный способ вставки всего нескольких изображений, в противном случае вам может быть полезно / полезно определить массив для нескольких изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...