Outlook 2013のアドインにItemSendイベントハンドラがあり、正しく動作させることができません。それは何送信アイテムフォルダにMailItemsが作成され、Outlook 2013の作成モードで表示されるのはなぜですか?
は次のとおりです。
ループすべての受信者(に、CC、BCC)と受信者としてだけで電子メールをそれぞれに別々のコピーを作成し、それらを送信します。送信済みメールフォルダから削除します。これは正常に動作します。
オリジナルのto、ccおよびbcc情報を持つもう1つのコピーを作成します。保存は送信トレイに格納されるため、移動メソッドを使用して[送信済みアイテム]フォルダに移動します。それは実際には送信されてはいけません。通常のように送信されるはずです。
キャンセルをtrueに設定し、インスペクタウィンドウを破棄して閉じるので、元のメッセージも送信されません。これも機能します。
問題は保存されたコピーです。私がそれを開くと、それは作成モードにあります。基本的にはドラフトと同じです。私はそれが読まれたモードで送られてきたのを見たいと思う。
私はSent-propertyがどのモードを表示するかを決定しますが、SentOnはnullであり、モードが正しい場合でも問題になりますので、そのプロパティは読み取り専用です。これを回避する方法はありますか?
実際に送信された他のメールの1つを[送信済みアイテム]フォルダから取り出し、内容を編集して保存しようとしました。しかし、これは同じ挙動をもたらす。また、MailItemにはSent = FalseとSentOn = nullがあります。
私たちがまだEventHandlerを実行していて、実際にOutlookが別のスレッドでそれを送信しているとは思わないので、Send-が呼び出されてもまだ実際に送信されていない可能性があります。
とにかくこれは動作する回避策ではないようです。
この種の機能を実装する方法はありますか?
おかげで、私はそのPostItemのトリックを使用し、それが働きました。 – SamiR
もう一度これに関する質問があります。 メールアイテムを作るために投稿アイテムを作成して保存します。次に、すべてのフィールド、件名、本文、などを更新します。 しかし、私はどのように受信者コレクションを再構築できますか? .Add(受信者の受信者)メソッドはありません.Add(文字列名) 同じ – SamiR
オブジェクトの種類を追加します。私は名前を付けて追加するか、 "To"と "CC"フィールドに追加することができますが、それは受信者オブジェクトの種類が異なり、後でExchangeアドレスで問題を引き起こします。 、ou = Etc .... "アドレスのタイプ。 – SamiR