0
 Store store = session.getStore("imaps");
  store.connect(host, "username",
     "password");//change the user and password accordingly
  Folder folder = store.getFolder("inbox");
  if (!folder.exists()) {
     System.out.println("inbox not found");
        System.exit(0);
  }
  folder.open(Folder.READ_ONLY);
  Date today=new Date();
  SearchTerm st = new ReceivedDateTerm(ComparisonTerm.EQ,today);
  Message[] messages = folder.search(st);

  for(int i=0;i<messages.length;i++)
  {

    String s1=messages[i].getSubject();
    if(s1!=null&&s1!="")
    {
    String s2="EXT: FSG daily shipment information";
    if(s1.equalsIgnoreCase(s2))
    {
  String contentType = messages[i].getContentType();
  String messageContent = "";

  // store attachment file name, separated by comma
  String attachFiles = "";

  if (contentType.contains("multipart")) {
      // content may contain attachments
      Multipart multiPart = (Multipart) messages[i].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("C:/Users/rb842469/Documents/MailAttachments" + File.separator + fileName);

              HttpClient client = new HttpClient();
              PostMethod method = new PostMethod("https://dt-microservice-blobstore.run.aws-usw02-pr.ice.predix.io/uploadMultiBlob");
              method.addParameter("file",fileName);
              method.addParameter("directory","C:/Users/rb842469/Documents/MailAttachments");
              method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
                                 new DefaultHttpMethodRetryHandler(3, false));
              client.getHostConfiguration().setProxy("ipaddress", port);

              int statusCode = client.executeMethod(method);
              byte[] responseBody = method.getResponseBody();
              //Print the response
             System.out.println(new String(responseBody));

          } 
      }
}

こんにちは、Web メールまたは Outlook メールにアクセスするための javax.mail パッケージの作業を行っています。

  • ここで、検索条件に基づいてフィルタリングされたメールに存在する添付ファイルをダウンロードできます(私の検索条件は、今日を受信日とし、件名をコードで指定したメールです)。

  • しかし、添付ファイルをダウンロードした後、HttpClient と PostMethod を使用してファイルをブロブストアにアップロードしようとしました。コードでは、PostMethod(url) を指定しました。この URL は、プレディックス ブロブストア サービス インスタンスから取得したマイクロサービスの URL です。

  • だから私が得ているコードを実行した後

    {"timestamp":1476867898345,"status":500,"error":"Internal Server Error","exception":"org.springframework.web.multipart.MultipartException","message":"現在のリクエストはマルチパートリクエスト","パス":"/uploadMultiBlob"}

誰でもこの問題を解決するための提案をすることができますか?

4

1 に答える 1