問題タブ [mapi]

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 に答える
329 参照

mapi - MSG ストリーム ID の計算

MSG ファイルの名前付きプロパティ部分、特に文字列名前付きプロパティのストリーム名を計算しようとしています。MSG ファイル形式 の仕様によると、ID は次のように生成されます。

Stream ID = 0x100m ((ID XOR (GUID index << 1 | 1)) MOD 0x1f

ID 値は、「Unicode name identifier」の CRC-32 です。0x100mまた、実際にそうであると確信してい0x1000ます。

これは、GUID インデックスが 3 の場合に何らかの形でマップ'x-mailer'され0x100fます。ID の値は 0x894e50ff ですが (別の場所に格納されているため)、どのよう'x-mailer'にしてその値に変換されるのでしょうか?

(これらは の下に格納されたプロパティで"__nameid_version1.0"、一部は"__substg1.0_00040102"ストリーム内にあります)。

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

c++ - デフォルトのプロファイル.pstファイルのパスを取得する方法(PR_PST_PATHプロパティ)

Outlook用のカスタム名簿プロバイダーを開発しようとしています。MFCMAPIを使用してストアを参照するPR_PST_PATHと、Outlookの既定のプロファイルの.pstファイルのプロパティにIProviderAdmin-Interfaceを介してアクセスできることがわかりました。

そこで、次のmapiコードを試しました。

しかし、

戻り値が。で失敗しますE_INVALIDARGS

それで、私が間違っているのは何ですか?PR_PST_PATHそして、プロパティを取得する正しい方法は何ですか?

よろしく

ヨアキム

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

c# - MS Word から「添付ファイルとして送信」できるように MAPI32.dll スタブを作成する方法は?

Microsoft Word には、ドキュメントが添付された新しいメッセージを Outlook で作成する「添付ファイルとして送信」機能があります。

Outlook をカスタム メール エージェントに置き換えたいのですが、その方法がわかりません。現在、私のメール エージェントは単なる実行プログラムであり、ファイル名をパラメーターとして受け取ります。

私の知る限り、「添付ファイルとして送信」は MAPI と呼ばれる DLL/API を使用しています。ファイル名の引数を単に受け入れるのではなく、「添付ファイルとして送信」するときに MS Word が使用する MAPI(?) 呼び出しを受信できるように、アプリを変更する必要があります。

さらに、アプリにリダイレクトするだけの独自の MAPI32.dll スタブを作成して、既定のメール エージェントを変更する必要があります。

これをどのように達成できるかについて、誰かがより多くの情報を持っていれば幸いです!

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

outlook - 特定の MAPI メッセージが着信か発信かを確認するにはどうすればよいですか?

Outlook 用の COM アドイン (Redemption を使用) では、見ている特定のメッセージが受信されたか送信されたかを判断できる必要があります (着信メッセージのみに対処したい)。親フォルダーまたは受信者または送信者を見るだけでは、受信メッセージと送信メッセージの両方が同じ (パブリック) フォルダー内に一緒にスローされ、複数の有効な送信者が存在する可能性があるため、私の場合は機能しません。さらに、ある有効な送信者から別の有効な送信者に送信される内部メッセージもある可能性があります。

これらのプロパティはメールボックス ストアでのみ設定され、私が扱うメッセージはパブリック フォルダー ストアにあることが最も多いため (より正確には、メールが有効なPR_RECEIVED_BY_*パブリックPR_RCVD_REPRESENTING_*そのフォルダーに代わって送信されたメッセージも配置されるフォルダー)。

私はすでに OutlookSpy を使用して、さまざまなサンプル メッセージの MAPI プロパティを比較し、何かを見つけたと何度か考えましたが、これまでのところ、最終的に安定したソリューションであることが証明されたものは何も見つかりませんでした (たとえば、最初PR_MESSAGE_RECIP_MEは、受信メッセージにのみ設定され、送信メッセージには決して設定されないように見えました)。もの、しかしその後、そのプロパティも欠落している受信メッセージを見つけました)。

基本的に、着信メッセージまたは発信メッセージのみに常に設定されるプロパティ (またはその値) を探しています。

これは、少なくとも Exchange 2003 と 2007、および Outlook 2003 と 2007 で機能する必要があります。

何か案は?

0 投票する
4 に答える
10135 参照

vsto - Outlook MAPI 名前空間の ID の一覧はありますか?

私は Outlook アドインに取り組んでおり、その MAPI プロパティを、これよりも少しあいまいな名前に関連付ける完全なリストを探しています。

これらのプロパティにアクセスする方法に関するドキュメント はたくさんありますが、プロパティが何であるかを教えてくれるものを見つけることができません。

PS この件に関するこの投稿を見たことがありますが、この件に関する詳細情報が本当に欲しいです。

または、不在時のアシスタントの拡張に関する情報があれば、それを歓迎します。

ありがとう。

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

c# - MAPI インターフェイス経由で MailItem からメール フォルダーを取得する

受信メールの添付ファイルからレポートを自動的に生成するプログラムを作成していますが、1 つの領域を除いてほぼ完全です。受信メールは、送信元のクライアントとサーバーを区別するフォルダーに自動的にフィルター処理されます。メールアイテムからフォルダーのパスを取得する方法がわかりません。

イベントを使用してNewMailEx以下のメソッドを呼び出しており、this.AppNamespace適切this.ReportFolderにインスタンス化されていることが確認されています。

MSDNMailItemこちらです。私は何かを見逃していますか、これに間違った方法でアプローチしていますか?

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

mapi - 変更元アドレス MAPI

この例と同様の方法で、C# アプリケーションから既定の電子メール クライアントを開くために MAPI を使用しています。

http://www.codeproject.com/KB/IP/SendTo.aspx?df=100&forumid=257922&select=1801097#xx1801097xx

しかし、アドレスから定義/変更する方法はありますか?

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

email - MapiRecipDesc からユーザーの外部電子メール アドレスを取得するにはどうすればよいですか?

MAPI を使用して電子メール アドレスを取得する方法を知る必要があります。MapiRecipDesc構造体 (たとえば、 への呼び出しによって返される)の内容を調べると、フィールドに通常の SMTP アドレスではなく、ある種の Exchange サーバー クエリのように見えるものが含まれMAPIAddress()ていることがわかります。lpszAddress

例:/o=MMS/ou=Exchange 管理グループ (FYDIBOHF23SPDLT)/cn=受信者/cn=laiic

これを使用して、Active Directory を介して Exchange から追加情報を取得できると思います...この方法で外部電子メール アドレスを取得できるかどうか、またそうであれば、どうすればこれを達成できるか知っている人はいますか?

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

c# - Interop.Outlookはマルチスレッドですか?

Webインターフェイスから.MSGファイルを生成するためにOutlook 相互運用機能オブジェクトを使用する必要があります。そのため、異なるスレッドから同時にアクセスされます。マルチスレッドですか?

Outlook.Applicationそして別の質問:サーバーで使用する前にOutlookを初期化する必要がありますか(アカウントセットなど) ?