作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在发送一封包含 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);
看看“México”、“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>";
**看看元音 **看看“mexico”、“invalidos”和“dia”中的元音 (a, e, i)****
邮件已正确且完美地发送。
有什么线索吗?
最佳答案
最后在@Anish B 的间接帮助下,我找到了解决方案:
有一个 MimeMessageHelper 类,该类有几个构造函数:
public MimeMessageHelper(MimeMessage mimeMessage)
public MimeMessageHelper(MimeMessage mimeMessage, String encoding)
public MimeMessageHelper(MimeMessage mimeMessage, boolean multipart)
public MimeMessageHelper(MimeMessage mimeMessage, boolean multipart, String encoding)
我正在使用:
public MimeMessageHelper(MimeMessage mimeMessage, boolean multipart)
我将其更改为:
public MimeMessageHelper(MimeMessage mimeMessage, boolean multipart, String encoding)
它看起来像:
protected MimeMessageHelper createMimeMsg(MimeMessage mimeMessage) throws MessagingException {
return new MimeMessageHelper(mimeMessage, true, "UTF-8");
}
看起来默认编码不是“UTF-8”,该助手的默认编码是null。即使我将 html 设置为“UTF-8”,它也无法识别它。我不得不把它作为 mime 主题编码的一部分。
所以最终通过正确给出编码解决了问题。
关于java - 邮件即使很小也会被剪掉,元音重音问题(a、e、i、o、u 到 á、é、í、ó、ú),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56760815/
我是一名优秀的程序员,十分优秀!