java获取text plain_javamail:为什么getContent返回text / plain附件,而不是InputStream?...
时间: 2023-11-27 11:51:02 浏览: 142
Spring3.x企业应用开发实战 附录A
在 JavaMail 中,使用 `getContent()` 方法可以获取消息内容。如果消息内容是文本,则返回一个 `String` 对象;如果消息内容是二进制数据(如附件),则返回一个 `MimeMultipart` 对象。
如果你想获取文本内容,可以通过以下方式获取:
```java
String content = (String) message.getContent();
```
如果你想获取附件,可以通过以下方式获取:
```java
MimeMultipart multipart = (MimeMultipart) message.getContent();
BodyPart bodyPart = multipart.getBodyPart(index); // index为附件在multipart中的位置
InputStream inputStream = bodyPart.getInputStream();
```
这里需要注意的是,如果消息内容是一个复合类型(例如包含文本和附件),则 `getContent()` 方法返回的是一个 `MimeMultipart` 对象。你需要遍历 `MimeMultipart` 对象中的所有 `BodyPart`,并判断每个 `BodyPart` 的类型,以获取你需要的内容。
阅读全文