+-

我正在使用 java中的SimpleMailMessage类发送邮件.我正在将spring与hibernate一起使用.我想在发送邮件时将特定的字符串设置为彩色.
码:
String emailBody = "Dear "+username;
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setFrom("My Name <myemail>");
simpleMailMessage.setTo(mailid);
simpleMailMessage.setSubject(emailSubject);
simpleMailMessage.setText(emailBody);
mailSender.send(simpleMailMessage);
我想在发送邮件时将用户名设置为蓝色.我进行了很多搜索,但是只看到了mimemessage的方法,即mimemessage.setContent(someHtmlMessage,“ text / html; charset = utf-8”);
simplemailmessage没有setcontent()方法.是否可以设置颜色?
最佳答案
Spring 4.2.1 documentation指出,如果需要颜色,则应使用MimeMessage而不是SimpleMailMessage.这是我在代码中的处理方式:
MimeMessagePreparator mailMessage = mimeMessage -> {
MimeMessageHelper message = new MimeMessageHelper(
mimeMessage, true, ENCODING);
try {
message.setFrom(senderEmail, senderName);
for (String addr : recipientEmails) {
message.addTo(addr);
}
message.setReplyTo(senderEmail);
message.setSubject(subject);
message.setText(fallbackTextContent, htmlContent);
} catch (Exception e) {
throw new MailDeliveryServiceException(recpStr, e);
}
};
mailSender.send(mailMessage);
正如Daniel上文所述,htmlContent基本上是一个没有相关链接的小型网页. fallbackTextContent是不支持HTML的邮件客户端的纯文本.
点击查看更多相关文章
转载注明原文:使用SimpleMailMessage类发送邮件时如何使Java字符串着色 - 乐贴网