我正在使用从Exchange提取和处理电子邮件的内容。使用imap-空闲通道适配器。电子邮件被拉得很好。如果电子邮件有附件,则内容类型为multipart/混合型("text/html;charset=us-ascii“和附件),并从text/html检索电子邮件正文;charset=us-ascii被检索得很好。
然而,如果电子邮件没有附件,则内容类型只是"text/html;charset=us-ascii“。有时,它会以"text/html charset=windows-1252“的形式出现。在任何情况下,即使内容对象是字符串,电子邮件正文也被检索为空或空.。
我该如何取回电子邮件的正文?如果电子邮件是多部分/混合的,则可以很好地检索文本/html的电子邮件正文。太奇怪了!
码

控制台

配置如下.
<int-mail:imap-idle-channel-adapter id="customAdapter"
store-uri="imaps://[username]:[password]@[exchange-imap-server]:993/INBOX"
channel="receiveChannel"
auto-startup="true"
should-delete-messages="false"
should-mark-messages-as-read="true"
auto-close-folder="false"
java-mail-properties="javaMailProperties"/>
<util:properties id="javaMailProperties">
<prop key="mail.imap.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.imap.socketFactory.fallback">false</prop>
<prop key="mail.store.protocol">imaps</prop>
<prop key="mail.debug">false</prop>
</util:properties>正如我说过的,当电子邮件没有附件时,不能只检索。内容类型为"text/html;charset=us-ascii“。
如果内容是“多部分/混合”,即使电子邮件体的BodyPart具有相同的内容类型"text/html;charset=us-ascii“,也可以很好地检索电子邮件正文内容。
当从gmail中提取电子邮件时,在所有情况下都会检索相同的代码。
发布于 2021-06-17 15:41:04
最后,当电子邮件没有附件时,我能够检索内容文本。内容类型为"text/html;charset=us-ascii“。我在Outlook (Exchange )和Gmail中测试了修复程序。修补程序正在添加imap-空闲通道适配器。
simple-content=true
有效载荷将是javax.mail.Message,而不是IMAPMessage。
https://stackoverflow.com/questions/67996538
复制相似问题