Email Javax邮件api:getting part.getdispotion()=null,即使附件存在
在使用mac邮件服务后,我面临这个问题。Email Javax邮件api:getting part.getdispotion()=null,即使附件存在,email,jakarta-mail,Email,Jakarta Mail,在使用mac邮件服务后,我面临这个问题。 如果我使用outlook或gmail,可以阅读附件 我正在阅读邮件附件的一段代码 if (contentType.contains("multipart")) { Multipart multiPart = (Multipart) msg.getContent(); int partCount = multiPart.getCount();
如果我使用outlook或gmail,可以阅读附件 我正在阅读邮件附件的一段代码
if (contentType.contains("multipart"))
{
Multipart multiPart = (Multipart) msg.getContent();
int partCount = multiPart.getCount();
for (int j = 0; j < partCount; j++)
{
BodyPart part = multiPart.getBodyPart(j);
if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition())) // getting null here
{
attachmentProcessing = true;
InputStream is;
is = part.getInputStream();
f = new File(filePath + part.getFileName());
fileArray.add(f);
FileOutputStream fos = new FileOutputStream(f);
byte[] buf = new byte[4096];
int bytesRead;
while((bytesRead = is.read(buf))!=-1) {
fos.write(buf, 0, bytesRead);
}
fos.close();
}
}
}
if(contentType.contains(“多部分”))
{
Multipart Multipart=(Multipart)msg.getContent();
int partCount=multiPart.getCount();
对于(int j=0;j
mac邮件服务的部件详细信息:
文本/纯文本;字符集=美国ascii码part.getDisposition()=null
多部分/混合;boundary=“苹果邮件=_C50D7E2D-27A1-4449-BAA3-5DC9D1E522AF” 还有其他人呢 多部分/混合;boundary=“---=\u下一部分\u 000\u 0033\u 01D28DC6.C9D0C8B0”
文本/纯文本;name=HashTagList.txt;字符集=美国ascii码
part.getDisposition()=附件
处置是可选择的;并非所有带有“附件”的邮件都将设置处置。网站提供了更多信息 此外,您应该使用该方法并检查“multipart/mixed”,而不是在内容类型中检查字符串“multipart” 有关更多示例和详细信息,请参见示例程序