я уверен, что подобные вопросы тут задавались, но что-то не нашёл. нужно отправить письмо с картинкой в теле письма. так же хорошо б чтобы она не попадала в категорию вложения, а просто следовала в содержании, как часть html страницы.
вот код, он работает почти полностью, только саму картинку в полученном письме не отображает.. например в Thunderbird. (ошибок чтения файла при чтении DataSource нет)
собственно вопрос в том, почему не отображается картинка в письме на клиенте? это в коде что-то или почтовый клиент такой, что ему нельзя отправить картинку, чтобы он её отображал?
try {
MimeMessage msg = new MimeMessage(session);
msg.setHeader("Content-Type", "text/html");
msg.setFrom(new InternetAddress(galkovStates.FROM));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
msg.setSubject(MAIL_TITUL, galkovStates.ENCODING);
// Create your new message part
BodyPart messageBodyPart = new MimeBodyPart();
String htmlText = "<a href='https://...'><img src='cid:asd'></a>";
// Create a related multi-part to combine the parts
MimeMultipart multipart = new MimeMultipart("related");
multipart.addBodyPart(messageBodyPart);
// Create part for the image
messageBodyPart = new MimeBodyPart();
// Fetch the image and associate to part
DataSource fds = new FileDataSource(file);
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID","<asd>");
// Add part to multi-part
multipart.addBodyPart(messageBodyPart);
// Associate multi-part with message
msg.setContent(multipart);
Transport.send(msg);
} catch (MessagingException e) { e.printStackTrace(); }
Вот пример
MimeMessage message = mailSender.createMimeMessage();
message.setFrom(from);
message.setRecipients(Message.RecipientType.TO, to);
message.setSubject(subject);
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setText(body, true);
helper.addInline(attachmentName, attachmentInputStream, attachmentContentType);
mailSender.send(message);
В теле письма добавить <img src="cid:picture.png"/>
. picture.png
это attachmentName
.
mailSender
это org.springframework.mail.javamail.JavaMailSender
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Недавно yandex поменял авторизацию speechkit c API ключа на IAM-токенВ документации yandex сказано:
Делаю приложение для фотоСначала фотографирую, затем вывожу фотографию с карты памяти телефона на экран
Блоки не заполняют свободное пространство, нарисовал на схеме как они располагаются, охото чтобы этих пустых полей не было, не пойму в чем...