1

ews Java API 1.3 SNAPSHOTを使用して添付ファイルを取得する際に問題があります。メールで添付ファイルを取得したいのですが、ここに私のコードがあります:

try {
    ExchangeService service;
    service.setUrl(new URI("https://" + myserver + "/ews/Exchange.asmx"));
    ExchangeCredentials credentials = new WebCredentials(username, password);
    service.setCredentials(credentials);
    ItemView view = new ItemView(Integer.MAX_VALUE);
    view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Ascending);
    Folder folder = Folder.bind(service, WellKnownFolderName.Inbox);
    FindItemsResults<Item> results = service.findItems(folder.getId(),view);
    service.loadPropertiesForItems(results, new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.Attachments));

        for (Item item : results) {
        Item itm = Item.bind(service, item.getId(), new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.Attachments));
        EmailMessage emailMessage = EmailMessage.bind(service, itm.getId(), new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.Attachments));
        if (emailMessage.getHasAttachments()) {
                for (Attachment attachment : emailMessage.getAttachments()) {
                    String FileExtension = getFileExtension(attachment.getName());
                    File TempFile = File.createTempFile(attachment.getName(), FileExtension);
                    attachment.load(TempFile.getAbsolutePath());
                }
            }
        }
} catch (Exception e) {
    logger.error("Error ", e.getMessage());
}

私の問題は、添付ファイルのない別の電子メールを取得し、添付ファイルのある電子メールを常にスキップできることです。例は次のとおりです。私の受信トレイには、この電子メールリストがあります

  • from: a@gmail.com (添付ファイルあり)
  • from: b@mycompany.com (添付ファイルなし)
  • from: c@hiscompany.com (添付ファイルあり)
  • from: d@mycompany.com (添付ファイルなし)

コードを実行すると、次のように添付ファイルのないメールが常に届きます。

  • from: b@mycompany.com (添付ファイルなし)
  • from: d@mycompany.com (添付ファイルなし)

添付ファイルのある他のメールをスキップします。これがどのように発生するかわかりません。誰か助けてくれませんか?

4

1 に答える 1