[英]JavaMail: MimeMessage sent as plain text when HTML is expected?
我的Spring
REST Web App 中有以下Java
代碼:
代碼:
@Service("Mailer")
public class Mailer {
private final JavaMailSender mailSender;
private void send(final Email email){
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
helper.setFrom(address);
helper.setTo(email.to());
helper.setSubject(email.subject());
helper.setText(email.content(), true); //is this correct?
mailSender.send(mimeMessage);
}
}
MimeMessageHelper setText():
public void setText(String text, boolean html) throws MessagingException {
Assert.notNull(text, "Text must not be null");
MimePart partToUse;
if (isMultipart()) {
partToUse = getMainPart();
}
else {
partToUse = this.mimeMessage;
}
if (html) {
setHtmlTextToMimePart(partToUse, text);
}
else {
setPlainTextToMimePart(partToUse, text);
}
}
我的代碼按預期發送了一封電子郵件,但是當我收到它時 - 它是痛苦的文本。
即HTML
未呈現在電子郵件正文中,並且電子郵件以以下內容開頭:
<!DOCTYPE html>
<html lang="en">
<head>
...
如何確保以HTML
而非純文本形式發送和呈現電子郵件?
嘗試像這樣直接設置 MimeMessage 內容。
mimeMessage.setContent(email.content(), "text/html");
mimeMessage.saveChanges();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.