有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用JavaMail仅下载特定类型的附件

我正在尝试使用JavaMail从Outlook mail下载附件

我可以下载邮件中的所有附件,但我想限制它。我只想下载CSV格式的文件,如果它作为附件存在于邮件中。如果有任何其他格式的附件,请不要下载,只需忽略即可

通过下面的代码,我可以下载邮件中的所有附件,我尝试了一些方法,但似乎没有一个能正常工作。 你们能帮助我如何使用JavaMail只下载附加的CSV文件吗

if (contentType.contains("multipart")) {
        // content may contain attachments
        Multipart multiPart = (Multipart) message.getContent();
        int numberOfParts = multiPart.getCount();
        for (int partCount = 0; partCount < numberOfParts; partCount++) {
            MimeBodyPart part = (MimeBodyPart) multiPart.getBodyPart(partCount);
            if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition())) {
                // this part is attachment
                String fileName = part.getFileName();
                attachFiles += fileName + ", ";
                part.saveFile(saveDirectory + File.separator + fileName);
            } else {
                // this part may be the message content
                messageContent = part.getContent().toString();
            }
        }

        if (attachFiles.length() > 1) {
            attachFiles = attachFiles.substring(0, attachFiles.length() - 2);
        }
    } else if (contentType.contains("text/plain") || contentType.contains("text/html")) {
        Object content = message.getContent();
        if (content != null) {
            messageContent = content.toString();
        }
    }

共 (0) 个答案