Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaMailSenderImpl忽略纯文本版本_Java_Spring_Email_Jakarta Mail - Fatal编程技术网

JavaMailSenderImpl忽略纯文本版本

JavaMailSenderImpl忽略纯文本版本,java,spring,email,jakarta-mail,Java,Spring,Email,Jakarta Mail,我正在使用Spring的(4.2.0)JavaMailSenderImpl和MIMessageHelper发送一封简单的HTML邮件,为此我创建了一个HTML和纯文本内容: String htmlContent = "<html><body>abc</body></html>"; String plainContent = "xyz"; …并使用它设置内容: helper.setText( plainContent, htmlContent );

我正在使用Spring的(4.2.0)JavaMailSenderImpl和MIMessageHelper发送一封简单的HTML邮件,为此我创建了一个HTML和纯文本内容:

String htmlContent = "<html><body>abc</body></html>";
String plainContent = "xyz";
…并使用它设置内容:

helper.setText( plainContent, htmlContent );
这似乎很好,消息以两部分结束,一部分是纯文本,另一部分是html

但是,虽然生成的邮件(在发件人.send(message)之后)由两部分组成,但这并不是我所期望的

--=-K0h7b+9DIT/qrjT258J6
内容传输编码:8比特
内容类型:文本/纯文本
abc
--=-K0h7b+9DIT/qrjT258J6
内容传输编码:8比特
内容类型:text/html;charset=“UTF-8”
abc

不知何故,我的纯文本内容似乎被HTML文本的纯文本版本所取代。所以,一个简单的问题是:我怎样才能阻止这一切?我真的很想独立地格式化我的纯文本和HTML。。。如果忽略了HTML和纯文本,那么提供HTML和纯文本似乎没有什么用处…

您需要向我们展示其间发生的情况,并且您需要检查正在发送的消息,而不是正在接收的消息。邮件客户端程序可能在玩内容游戏。我已经尝试了两个不同的电子邮件客户端,所以很有可能,这不仅仅是客户端的问题,特别是对于给定的邮件源。在这两者之间没有发生任何事情,邮件在调用
setText
后直接发送,因此发生的一切都发生在邮件器中。我也在发送时和发送后直接调试了邮件,在这两种情况下都包含正确的纯文本,因此我不知道在哪里替换了它。那么,可能是您的SMTP服务器。您正在使用Exchange吗?它经常将消息更改为它认为最适合客户的消息。它可能正在重写纯文本部分,并转换为html部分。因为这两个部分应该是相同的内容,只是格式不同,它可能认为这是在帮你一个忙。我会和邮件管理员谈谈,谢谢各位。你们需要向我们展示其间发生了什么,你们需要检查正在发送的邮件,而不是正在接收的邮件。邮件客户端程序可能在玩内容游戏。我已经尝试了两个不同的电子邮件客户端,所以很有可能,这不仅仅是客户端的问题,特别是对于给定的邮件源。在这两者之间没有发生任何事情,邮件在调用
setText
后直接发送,因此发生的一切都发生在邮件器中。我也在发送时和发送后直接调试了邮件,在这两种情况下都包含正确的纯文本,因此我不知道在哪里替换了它。那么,可能是您的SMTP服务器。您正在使用Exchange吗?它经常将消息更改为它认为最适合客户的消息。它可能正在重写纯文本部分,并转换为html部分。由于这两个部分应该是相同的内容,只是格式不同,它可能认为这是在帮你的忙。我会和邮件管理员谈谈,谢谢大家。
helper.setText( plainContent, htmlContent );