+-
使用SimpleMailMessage类发送邮件时如何使Java字符串着色
我正在使用 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字符串着色 - 乐贴网