即使太小,元音中的重音问题(a,e,i,o,u到á,é,í,ó,ú)也被邮件剪断

Dam*_*ero 6 html java email mime-message

我正在使用JavaMailSender发送电子邮件,其正文中带有html,如下所示:

 String html = "<h2>RFC INVALIDOS en México:</h2>"+
                "<h4>Se adjunta el siguiente listado de RFC inválidos al día de la fecha.</h4>" +
                "<h3>Saludos!!!</h3>";

MimeMessageHelper helper = return new MimeMessageHelper(mimeMessage, true); // some helper
            helper.setSubject(message.getSubject());
            helper.setText(html, true);
Run Code Online (Sandbox Code Playgroud)

看看“墨西哥”,“inválidos”和“día”中的元音(á,é,í)

然后邮件被剪辑,告诉我还有更多东西要看:

邮件正文

注意部分:

...

[Mensaje recortado] Ver todo el mensaje

但是,如果我不引用元音就发送它:

 String html = "<h2>RFC INVALIDOS en Mexico:</h2>"+
                "<h4>Se adjunta el siguiente listado de RFC invalidos al dia de la fecha.</h4>" +
                "<h3>Saludos!!!</h3>";
Run Code Online (Sandbox Code Playgroud)

**看元音**看“墨西哥”,“ invalidos”和“ dia”中的元音(a,e,i)****

邮件正确正确发送。

正确的邮件正文

有什么线索吗?

Joe*_*Joe 2

MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8");

可以在这里找到: https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/mail/javamail/MimeMessageHelper.html

它在他们的示例中作为抽象对象定义实现:

mailSender.send(new MimeMessagePreparator() {
   public void prepare(MimeMessage mimeMessage) throws MessagingException {
      MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); // Here is where it seems the encoding can be set, through this helper class. 
//...
Run Code Online (Sandbox Code Playgroud)

我现在在查看 api 时也发现了一些很酷的东西。如果您可以将您的签名制作成一个小 kb 的图像资源,并以这种方式发送,那么对您来说可能会更容易。这使得您在这种情况下不必担心 UTF-8。

message.addInline("signature.png", new ClassPathResource("img/signature.png"));
Run Code Online (Sandbox Code Playgroud)

无论如何,希望这会有所帮助。如果我可以更好地为您解释,请告诉我。(UTF-8)