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"}
誰でもこの問題を解決するための提案をすることができますか?