Я хочу прикрепить встроенное изображение в теле письма, для этого я использую следующий метод, все в порядке, но вложение с «noname» прикреплено к электронному письму, я не хочу никакого вложения в электронное письмо, я хочу, чтобы отображалось толькоизображение в теле письма, ниже приведены мой код и снимок письма
public void forgotPasswordMail(String email,String token)
{
String to = email;
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "587");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
MimeMessage message = new MimeMessage(session);
message.setSubject("HTML mail with images");
message.setFrom(new InternetAddress("me@sender.com"));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress("you@receiver.com"));
// Mail Body
MimeMultipart multipart = new MimeMultipart("related");
BodyPart textPart = new MimeBodyPart();
String htmlText ="<img src=\"cid:image\"> " +
"<html><head><style>h1 {background-color: #FFF100;padding: 15px; text-indent: 40px;} " +
"p {text-indent: 60px;}</style></head><body><h1>Forgot password request</h1> " +
"<p> Please click on the following link to verify your account </p>" +
"<p>" + frontendUrl+"resetForgottonPassword/"+token+"</p></div></body></html>";
textPart.setContent(htmlText, "text/html");
multipart.addBodyPart(textPart);
BodyPart imagePart = new MimeBodyPart();
DataSource fds = new FileDataSource
("C:/Users/INTERN I/Desktop/logo2.png");
imagePart.setDataHandler(new DataHandler(fds));
imagePart.setHeader("Content-ID","<image>");
imagePart.setDisposition(MimeBodyPart.INLINE);
multipart.addBodyPart(imagePart);
message.setContent(multipart);
message.setSubject("Reset Password");
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
Transport.send(message);
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}