Exchange Web Service APIを利用して、メールの添付ファイルを処理して、結果を返信するプログラムを作成しています。
java
1// 初期化 2service = new ExchangeService(ExchangeVersion.Exchange2010_SP1, 3 TimeZone.getDefault()); 4ExchangeCredentials credentials = new WebCredentials(username, 5 password, domain); 6service.setCredentials(credentials); 7service.setUrl(new URI("https://" + url + "/ews/Exchange.asmx")); 8service.getInboxRules(); 9 10// メール受信 11Folder inbox = Folder.bind(service, WellKnownFolderName.Inbox); 12ItemView view = new ItemView(100);// 100通まで 13List<SearchFilter> searchFilterCollection = new ArrayList<SearchFilter>(); 14searchFilterCollection.add(new SearchFilter.IsEqualTo( 15 EmailMessageSchema.IsRead, false)); // 未読のみ取得 16SearchFilter s = new SearchFilter.SearchFilterCollection( 17 LogicalOperator.And, searchFilterCollection); 18m = inbox.findItems(s, view); 19 20// 受信メールの処理 21for (Item item : findResults.getItems()) { 22 EmailMessage message = EmailMessage.bind(service, item.getId()); 23 // いろいろな処理 24 25 // 返信処理 26 ResponseMessage responseMessage = message.createReply(false); 27 responseMessage.setSubject("タイトル"); 28 responseMessage.setBodyPrefix("メール本文"); 29 Folder outbox = Folder.bind(service, WellKnownFolderName.Outbox); 30 EmailMessage newMessage = responseMessage.save(outbox.getId()); 31 newMessage.sendAndSaveCopy(); 32}
このプログラムで返信すると、返信メールの本文に、受信メールのヘッダー情報が記録されますが、そこに書かれている時刻がUTC時刻になってしまいます。
メール本文
差出人: John Smith
送信日時: 2015年8月12日 8:36:06
宛先: Suzumiya
件名: test txt as excel
↑このようなイメージです。「8:36:06」がUTC時刻になってしまっています。
おそらく受信メールのヘッダー情報だと思いますが、
受信メールのヘッダーを見ると、受信時刻欄には、上の時刻の末尾に「+0800」と書かれているので、受信メールには問題ないと思います。
そもそも受信メールのヘッダーが、返信メールに追加されるような処理は記述していないので、Exchangeサーバーで設定があるのかとも思いましたが、見つけられませんでした。
調査も行き詰まってしまったので、何かわかる事はありませんでしょうか。
「xxxを調べてみたら?」と言うだけでも結構です。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/21 06:39
2015/08/21 08:51 編集
2015/08/21 08:58
2015/08/21 14:51
2015/08/25 01:06
2015/08/25 01:46
2015/09/16 09:15
2015/09/16 10:44