問題タブ [mailitem]

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.

0 投票する
1 に答える
469 参照

c# - Outlook MailItems を反復処理するときに UI をフリーズさせるバックグラウンドワーカー

私は、共有 Outlook メールボックスを見て、フォルダーを収集し、TabControl に TabItems を作成してフォルダーを表し、過去 14 日間のフォルダーで見つかった MailItems を収集する WPF サポート ツールに取り組んでいます。各フォルダーにはおそらく数十個のメールアイテムしかないため、一気に大量になることはありません。

起動時に、アプリケーションは各フォルダの Mailitem を繰り返し処理し、後でそれぞれの TabItem の ListBox のバインドされた ObservableCollection に追加する MailItem List にそれらを追加します。

私が抱えている問題は、Outlook フォルダー内の MailItems を反復処理するときに UI がロックすることです。最初にバックグラウンドでメールを収集するように Backgroundworker ルーチンを追加しましたが、この間、UI はまだ完全に応答しません。このプロセスがUIをまったくいじっていないので、その理由がわかりません。

以下の私の簡略化されたコード。この例では、MailItems を反復処理する以外に実際には何もしていませんが、UI がフリーズします。なんで?また、合計で約 10 個の Outlook フォルダーがあることにも注意してください。TabItem (コンテンツとして ListBox を含む) が作成され、フォルダーを表すため、以下のコードが起動されます。つまり、初期化プロセス中に約 10 の Backgroundworker が起動するはずです。

これをより適切に実装するための提案やアイデアはありますか? 理想的には、アプリが起動してスムーズにディスプレイに表示され、ハングして突然すべてが表示されるのではありません。

0 投票する
1 に答える
762 参照

header - 転送/返信時に Outlook の mailItem プロパティ (インターネット ヘッダー) が削除されないようにする

同じ ID で定義されたメールのスレッドを開始しようとしています (ID は、データベース内のものと同じ特定の値である必要があります)。次のように、カスタム インターネット ヘッダーを適切に割り当てることができます。

sendMail が でありolMailItemtaskIdが必要な ID です。

このメールが送受信されると、メソッドで ID を取得できますGetPropertyが、転送または返信されると、インターネット ヘッダーが削除され、このプロパティにアクセスできなくなります。

どこに行っても、カスタム インターネット ヘッダーが削除されないようにする方法はありますか?

0 投票する
1 に答える
1768 参照

c# - エンコーディングによる MailItem.RTFBody の編集

UTF8Encoding を使用して MailItem から RTFbody をエンコードすることに成功しました。新しい電子メールを作成し、すべての新しい電子メールの操作を実行して、[送信] をクリックすることができます。送信を押すと、カテゴリにも追加されるタグをメールに追加します。これはすべて RTFBbody を通じて機能します。

問題は、RTF メールに返信するときに発生します。これは、テスト目的で、孤独な自分に送信したメールにすぎません。返信メールを送信して新しいタグが追加された場合は、まず古いタグを削除してから新しいタグを追加します。新しいタグを含む編集済みの文字列を返信メールに設定するRTFBodyと、「メモリまたはディスク容量が不足しています」というエラーが表示されます。これは、同じ機能を持つタグを削除しただけでは発生しません。

以下は私が使用しているコードです:

これらは私が行う呼び出しです:

古いタグを削除:ChangeRTFBody(lastTag, "");

新しいタグを追加:ChangeRTFBody("}}\0", newTag + "}}\0");

私が言ったように、これは新しいメールを作成して送信すると機能しますが、同じメールに返信しようとすると機能しません。またbyte[]、削除後のサイズはほぼ倍増しているようです。Delete 中に確認すると約 15k バイトで、Add 中に確認すると 30k バイト以上にジャンプします。新しく膨らんだbyte[]ものを rtfBody に追加しようとすると、エラーが発生します。

助けとヒントをありがとう、そしてすべての読書について申し訳ありません。

0 投票する
0 に答える
90 参照

outlook - 特定の差出人アドレスを使用して Outlook._MailItem メールを送信する

プログラムで (c# を使用して) Outlook._MailItem メールを送信しているときに、差出人メール アドレスをオーバーライドする方法はありますか? 以下は、動作しないコードです。

0 投票する
2 に答える
2606 参照

c# - MailItem オブジェクト (Outlook 共有アドイン) からの取得元、SentOnBehalfOfName、およびアカウント名

Vs2010 を使用しています -> 拡張性 -> 共有アドイン ItemSend にイベント ハンドラーを追加しました

mailItem.SenderEmailAddress,mailItem.SentOnBehalfOfNameそして、mailItem.SendUsingAccount 私はこのプロパティをすべてnullにしています

どなたか助けてください。差出人を取得したいのですが、差出人のSentOnBehalfOfNameアカウント名がメールで送信されました。

0 投票する
2 に答える
1705 参照

printing - カスタム ItemProperties を印刷から非表示にします。相互運用の見通し

Outlook 経由で受信した電子メールを基本的に Web サイトにリンクできるようにする Outlook プラグインを作成し、Web サイトの通信機能でも電子メールを表示できるようにしました。MailItem の ItemProperties 内に追加の詳細を保存します。これらの詳細は基本的に、Web サイト内で電子メールが関連するユーザーの ID のようなものです。

私が抱えている問題は、メールの印刷時に MailItem に追加した ItemProperties が印刷されていることです。メールを印刷するときにカスタム ItemProperties を除外する方法を知っている人はいますか?

カスタム ItemProperty を作成するコードは次のとおりです。

0 投票する
1 に答える
1753 参照

unicode - C# を使用して Outlook メール アイテムを UTF-8 / Unicode で保存する

メール アイテムをテキスト形式で特定のフォルダに保存するために使用できる Outlook プラグインを作成しました。ただし、結果のテキスト ファイルのテキストは ANSI でエンコードされているため、UTF8 として保存したいと考えています。私はすでにメールアイテムのコードページを次のように設定しています:

ただし、結果のファイルは「ANSI as UTF8」として保存され、すべての拡張文字 (アラビア語やロシア語など) は疑問符として表示されます。メールアイテムをutf8で保存する方法を知っている人はいますか?

どうもありがとう。

乾杯、

マーティン

0 投票する
1 に答える
24191 参照

vba - Outlook VBA -- MailItem プロパティの中には値を返すものと返さないものがあります

編集: 新しい情報: Mailitem.Body の戻り値は "" ですが、実際の値は "アプリケーション定義またはオブジェクト定義のエラー" であることに気付きました。それが何を意味するのかは完全にはわかりませんが、複数のフィールドに表示されることは知っています. 以下にスクリーンショットを含めました.

エラー

特定のプロパティが正しい値を返し、他のプロパティが返さないという問題があります。件名が「件名」、メッセージが「本文」、送信者の電子メール アドレスが「email@address.com」、送信日が 2013 年 6 月 12 日の電子メールの例があります。

次のコードを実行すると:

私が取得するのは、ComputerName = "Subject"、ErrorState = ""、SenderEmail = ""、および strDate = "2013/6/12" (この場合は適切な形式です) です。Mailitem の 2 つのプロパティでは適切な値が返されるのに、他の 2 つのプロパティでは返されないのはなぜでしょうか? これは非常に奇妙な問題です。皆さんができる助けをいただければ幸いです。

ここで、コードのコンテキストをさらに追加します。

GetFolder は、フォルダ パスでメールボックスを取得する関数です。Outlook で既定の受信トレイを使用していないため、これを行う必要があります。

また、本文が HTML または RTF 形式の場合に備えて、以下で提案されている MailBody 関数を使用してみました。残念ながら、本文は正常であることが証明され、MailItem.Body はそれを取得するはずでしたが、まだ機能していません。メールに本文があることはわかっていますが、MailItem.Body は "" を返します。体はまさにナンバーワンであり、それは私が得るべきものです.

また、メールの送信者は受信者と同じであることに注意してください。つまり、電子メールは、ある電子メール アドレスからそれ自体に送信されました。これが違いを生むかどうかはわかりませんが、念のためそこに置いておくことにしました。