Из-за проблемы проверки спама я искал отправку html-письма с альтернативой, но кажется, что весна просто не предоставляет простой MimeMessageHelper.MULTIPART_MODE_ALTERNATIVE.Однако, используя MimeMessageHelper.MULTIPART_MODE_MIXED_RELATED, чтобы мои электронные письма достигли их назначений.
Если вы все еще хотите избавиться от смешанных и связанных границ, вам требуется больше контроля над тем, как собирается сообщение MIME, вы можете создать реализациюинтерфейс MimeMessagePreparator и передайте его методу JavaMailSender.send () вместо MimeMessage.
sender.send(new MessagePreparator());
private class MessagePreparator implements MimeMessagePreparator {<br/> public void prepare(MimeMessage msg) throws Exception {<br/> // set header details<br/> msg.addFrom(InternetAddress.parse(from));<br/> msg.addRecipients(Message.RecipientType.TO, InternetAddress.parse(to));<br/> msg.setSubject(subject);<br/> <br/> // create wrapper multipart/alternative part<br/> MimeMultipart ma = new MimeMultipart("alternative");<br/> msg.setContent(ma);<br/> // create the plain text<br/> BodyPart plainText = new MimeBodyPart();<br/> plainText.setText("This is the plain text version of the mail.");<br/> ma.addBodyPart(plainText);<br/> // create the html part<br/> BodyPart html = new MimeBodyPart();<br/> html.setContent(<br/> "<html><head></head><body><br/><h1>This is the HTML version of the mail."<br/> + "</h1></body></html>", "text/html");<br/> ma.addBodyPart(html);<br/> }<br/> }<br/>}<br/>
Порядок, в котором вы добавляете экземпляры BodyPart в MimeMultipart, важен, и вы должны добавитьBodyPart с наиболее предпочтительным форматом сообщения в последнюю очередь.
Это выдержка из Pro13, глава 13, глава 13 - § Отправка сообщения HTML с помощью обычного текста;APRESS ISBN-13 (pbk): 978-1-59059-921-1