問題タブ [managed-ews]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
exchange-server - FindItems() および BindToItems() が EmailMessage.Sender.Address に対して一貫性のない結果を返す
かなり多くのデバッグを行った後、複雑な Managed EWS の問題を次の 2 つの単純なテスト ケースに絞り込みました。最初のものは機能しますが、2 番目のものは失敗します。
BindToItems()
呼び出しを切り取り、FindItems()
直接使用しようとするかもしれません:
どこが間違っているのか誰か教えてもらえますか? ドキュメントから、これは機能するはずです。すべてのプロパティを読み取れるわけではありませんFindItems()
が、それらのプロパティは通常、アクセスしようとするとスローされます.MSDNにはこれらのプロパティのリストSender
があり、そこにはありません. どうしたの?
.net - 受信日時でソートされた Exchange からのメールの取得
Exchange メールボックスからアイテムを読み取るときは、アイテムが受信された (受信日時) 順にピックアップされることを明確にしたいと思います。
(ItemView で) 並べ替え値と並べ替え方向を指定するにはどうすればよいですか?
Exchange マネージド Web サービスの使用。
timezone - タイムゾーン UTC で呼び出すと、EWS は常に ErrorTimeZone を返します
注: まず第一に、私の英語のレベルが低くて申し訳ありません。
タイムゾーン Utc (new ExchangeService (ExchangeVersion.Exchange2007_SP1, TimeZoneInfo.Utc);) を使用して ExchangeService を作成するときに、クライアントの環境で EWS (マネージド API を使用) へのすべての要求に問題があります
返されるエラー: ResposeCode = ErrorTimeZone (指定された ID のタイム ゾーンが見つかりませんでした。)
何か案が?
ここでは、このエラーを返す EWS リクエストのログ トレースがあります。
読んでくれてありがとう :)
c# - Exchange 2013 ユーザーが他のユーザーの受信トレイ アイテムにバインドできるようにするには、どの役割が必要ですか?
EWS マネージ API を使用して Exchange 2013 SP1 サーバーにアクセスする .NET アプリケーションを作成しています。現在、次の問題があります。メールボックスを正常に検索できるユーザーがいますが、そのユーザーは検索結果の特定の ID に基づいてアイテム (電子メール) を取得できません。
ServiceResponseCollection<SearchMailboxesResponse> responseCollection = service.SearchMailboxes(searchMailboxesParameters);
したがって、問題なく検索を実行しますが、結果から一意の ID を取得し、次のコードを使用してそのアイテムを取得しようとすると:
次の例外が発生します。
Access is denied. Check credentials and try again.
というわけで、特別な役割でメールボックス検索機能が付与されるのと同じように、他のユーザーからのメールを読む機能も特別な役割で付与できるのではないかと考えています。
一方、「既読」ユーザーのメールボックスに手動で「既読」ユーザーを割り当てると、プロセスは正常に機能しますが、数千人のユーザーと不明な数のユーザーについて話しているため、これを行うことはできません。管理者。
ご感想ありがとうございます。
c# - 「操作によってオブジェクト タイプが変更されますが、これは許可されていません。」EWS マネージ API を使用して電子メールを送信する場合
MIME データから既存のメールを読み込んでいますが、このエラーが発生することがあります。
例えば:
この例外が発生する原因となる mimeBytes のヘッダー セクション:
他の電子メールは正常に送信されます。Exchange がこの方法でマルチパート/レポート メールを送信できないということですか?
これが multipart/report content-type によって引き起こされているかどうかはわかりません。おそらく偶然の一致かもしれませんが、他のコンテンツ タイプ (配信レポートではない) を含む電子メールではこの例外が発生しないように思われるため、現在のところ他のアイデアはありません。
c# - EWS で、元の文字エンコーディングを維持したまま、メッセージのプレーンテキストと HTML 本文の両方を文字列として取得する方法
私は Exchange 2010 を使用しています (発信者がプレーンテキストと HTML の両方の本文を直接要求できる Exchange 2013 ではありません)。
HTML 本文を取得するには、次のようなものを使用しています。
プレーンテキストの本文の場合、正しい文字列表現が得られます。しかし、HTML の本文ではバイトしか返されず、GetString に渡すコードページがわかりません。現在、UTF-8 のコードページはハードコードされていますが、これは本番環境では機能しません。HTML 部分のコードページを見つけるか、メッセージからそれを抽出する別の方法を見つける必要があります。もちろん、RequestedBodyType = BodyType.HTML を設定する EWS に対して別のクエリを作成することもできますが、追加のクエリは作成しない方がよいでしょう。PR_INTERNET_CPID MAPI プロパティ (0x3FDE) が私のニーズに合うと思っていましたが、入力されていません (メール サーバーに存在することを再確認しましたが、EWS 経由では取得できません)。
そのため、Managed EWS ライブラリに HTML とプレーンテキストの両方を文字列として返すよう説得するか、PR_INTERNET_CPID 値を取得する必要があります。そのために何ができますか?
c# - Office 365 EWS 経由で PidTagBody (0x1000) 値を取得できません
PR_BODY が EWS によって返されることはありません (Office 365 サーバーを使用)
サーバーの応答に本文 (0x1000) の値はありません。同時に私が変われば
に
例外が発生し始め、応答コードは ErrorInvalidExtendedProperty です。これは、EWS に認識されていないプロパティ ID (0x1990 など) を渡すと発生しません。したがって、EWS は 0x1000 が持つべき型を認識しますが、型が正しい場合でも何も返しません。
ところで、これは PR_BODY_HTML で機能します:
実際、次のようなコードでプレーンテキストの本文を取得できます
または:
しかし、なぜ拡張プロパティを介して機能しないのか疑問に思っています (同時に、これは HTML 本文に対しても機能します)。
最後に、ローカルの Exchange 2010 サーバーで同じことを試したところ、PR_BODY が正常に返されることがわかりました。Office 365 サービスのバグですか?