gpt4 book ai didi

java - 使用javamail获取附件内容

转载 作者:行者123 更新时间:2023-12-02 06:01:29 24 4
gpt4 key购买 nike

我正在使用 javamail 来自动处理一些电子邮件。

我设法连接到 pop3 服务器并获取消息。其中一些包含附件。根据电子邮件标题,我能够“预测”我需要获取的附件的文件名。

但我无法获取其内容:(

我有一个函数

public byte[] searchForContent(Part part,String fileName){
if(part.getFileName()!=null){
if(part.getFileName().equals(fileName)){
byte[] content = new byte[part.getSize()];
part.getInputStream().read(content);
return content[]
}
}
return null;
}

该函数工作得很好(即:仅当该部分是由 fileName 描述的附件时才返回内容)。但它返回的数组太大了。

下载的附件长256字节,函数返回352字节长的内容。

我认为问题出在标题上,但我不能确定。

您将如何继续仅获取内容?

谢谢。

最佳答案

对于它的值(value),javax.mail.Part.getSize() 的 API 文档说

Note that the size may not be an exact measure of the content size and may or may not account for any transfer encoding of the content. The size is appropriate for display in a user interface to give the user a rough idea of the size of this part.

假设您知道内容的类型,您可能可以从 Part.getContent() 获取它并进行处理。 getContent() 返回一个对象,但如果您知道内容类型,则可以对其进行适当的转换(例如,转换为文本的字符串)。

关于java - 使用javamail获取附件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4219443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com