問題タブ [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.
delphi - Thunderbird は常に MAPI メール クライアントとして動作しますか?
基盤となるOSのMAPIクライアントを使用して、電子メールをフォーマットして送信する機能を備えたアプリケーション(Delphiで作成)があります。4 台のマシンでテストしたところ、4 回中 3 回のケースですべてが期待どおりに動作しました。私が指摘した主な違いは、動作中のマシンには Microsoft メール クライアントがデフォルトとして設定されているのに対し、期待どおりに動作していないマシンにはデフォルトのメール クライアントとして Thunderbird が設定されていることです。... Thunderbird について私が知らないことはありますか? ここで何が起こっているかについてのより良い説明はありますか?
いつもありがとう -- Al C.
exchange-server - Exchange 統合用の raw MAPI コマンドの記述方法を学ぶには、どこに行けばよいですか?
VB .Net アプリケーションで Outlook と Redemption を使用しようとして頭が痛いことがあります。MAPI プロトコルと、それを使用して Exchange サーバーへの接続とやり取りする方法について説明しているガイドは、ネット上のどこかにありますか?
このアプローチを試みることでさらに頭痛の種になる深刻なリスクがあることはわかっていますが、それでもやはり興味があります。
TIA、デイブ -- Fedang #MAPI ガイドのトリンダズ
delphi - MAPIクライアントを起動したときにフォーカスを確実に受け取れるようにするにはどうすればよいですか?
MAPIを介してユーザーのデフォルトの電子メールプログラムを起動する関数があります。メールプログラムは通常、私のアプリの上で起動しますが、起動しない場合もあります。時々私のアプリケーションはデスクトップディスプレイの上に残ります。ユーザーの電子メールプログラムが他の開いているアプリケーションの背後に埋もれておらず、デスクトップ上で起動することを保証する方法はありますか?
com - 私のアプリケーションは、MAPI サブシステムを使用して MAPI/メッセージング プロファイルを適切に作成できません
メール/メッセージを送信するための MAPI プロファイルを作成するアプリケーションがあります。Outlook2007 環境ではプロファイルが正しく作成されていますが、Outlook2007 SP2 環境ではプロファイルが正しく作成されていません。ソースコードも「MAPI/outlookプロファイルの交換環境」も同じです。プロファイルは、MAPI サブシステムを使用して作成されます。
アプリケーションについての説明: アプリケーションは、Windows サービス ベースのアプリケーションです。サービスは、COM アプリケーションを実行します。COM アプリケーションは新しいスレッドを生成して新しいプロファイルを作成し、サンプル メッセージを送信します。
実際の問題: プロファイルの作成中に、ConfigureMsgService 関数 (IMsgServiceAdmin に属する) の呼び出しが、S_OK を返しても正しく機能しません。ConfigureMsgService 関数の第 5 パラメーター「lpProps」の値は次のとおりです。
また、ConfigureMsgService 関数呼び出しの前に、MAPIInitialize、MAPIAdminProfiles、CreateProfile、AdminServices、CreateMsgService、GetMsgServiceTable などの他のすべての MAPI 呼び出しが成功することにも注意してください。
私の質問ですが、同じコードが Outlook 2007 環境では正常に動作していましたが、Outlook 2007 SP2 環境では失敗しました。
1. スタンドアロン アプリケーションから同じコードを実行すると、正常に動作しました。2. サービスがローカル システム アカウントまたはネットワーク サービス アカウントとして実行されている場合、コードは正しく機能しませんでした。
- 何が問題なのですか?私は何かが欠けていますか?
- 回避策はありますか?
よろしくお願いします
com - 32 ビット VB6 アプリケーションは、64 ビット Outlook を自動化して、ユーザーにプロンプトを表示せずに電子メールを送信する必要があります。
COM コンポーネントを使用して Outlook を自動化して電子メールを送信する 32 ビットのレガシー VB6 アプリケーションがあります。要件は、電子メールが Outlook の送信済みアイテム フォルダーに表示される必要があることです。さらに悪いことに、アプリケーションは通常のセキュリティ、警告、または確認メッセージをポップアップすることが許可されていません。
このアプリケーションは、64 ビットの Office が登場するまで問題なく動作していました。32 ビット プロセスが 64 ビット Outlook を自動化する方法はありません。
私が思いついたアイデアは次のとおりです。
COM コンポーネントを、CCW で実行される .NET WCF クライアントと交換します (COM のふりをする .NET)。
この COM コンポーネントは、netTcpBinding を使用して、64 ビット プロセスとして実行される WCF サービスを呼び出します。
次に、WCF サービス (LOCAL SYSTEM として実行) が 64 ビット コンソール アプリケーションをユーザーとして起動し、拡張 MAPI ライブラリを使用して電子メールを送信します。
3 番目のステップの理由は 2 つあります。
メールを送信するように指示すると、MAPI は確認を求めます。拡張 MAPI にはありません。つまり、Microsoft の正しい 64 ビット ヘッダー ファイルを使用して C++ 拡張 MAPI ライブラリをコンパイルし、それを .NET コードから "呼び出す" 必要がありました。
WCF でユーザーの偽装 (大まかに使用される用語) を行うと、レジストリ ハイブの読み込みが正しく行われません。つまり、拡張 MAPI が HKCU からプロファイルを読み込もうとすると失敗します。つまり、基本的に正しいユーザーを "RunAs" するために、新しいプロセスを開始する必要がありました。
これはすべて実際に機能しますが、次の点について説明が必要です。
コマンド ライン パラメータに必要なすべての情報を指定してコンソール アプリケーションを実行すると、MAPI がログインに失敗します。ただし、フォームの OnLoad( ) メソッドでまったく同じコードを使用して、この同じコードを 1 つのフォームを持つ Windows アプリケーションとしてコンパイルすると、成功します。誰でも理由を説明できますか?
現在ログオンしているユーザー (LOCAL SYSTEM ではない) として WCF サービスから "WinForms" アプリケーションを実行するには、正しいトークンを取得するために次の手順を実行しました。
これを回避する方法はありますか?確かに、WCF の組み込みの偽装を使用する方が良いでしょう。
vb6 - ロータス ノーツ用の MAPI を使用した VB6
みなさん、
メール機能を VB6 アプリケーションに組み込む必要があります。デフォルトのメール システムは Lotus Notes 6.5 です。このバージョンの Lotus Notes は MAPI 対応であることを確認しました。
ここに私が見る奇妙なものがあります。ユーザーが SendMail ボタンをクリックすると、以下のコードが起動されます。
このコードは、Lotus Notes でウィンドウを開きます (これは私が予想したことです) が、[宛先アドレス] ボックスには受信者のアドレスが含まれており、1 行目には本文、2 行目には受信者のアドレスが続きます。
-- 本文セクションは空白です。
それを修正するためにできることはありますか、または Lotus Notes は MAPI と互換性がありません。
ありがとう、レフ
c# - contact.LastNameを取得するときのSystem.Runtime.InteropServices.COMException(0x800706BE)
一部のユーザーは、この例外を時々受けます(すべての連絡先に対してではありません):
ContactItem
これは、(タイプの)連絡先の名前を取得しようとしているときに発生します。
誰かが問題が何であるか知っていますか?
どんな助けでもいただければ幸いです。ありがとう!
php - PHP経由でexeを呼び出す
「system」コマンドを使用してphp経由で呼び出すexeファイルがあります。次に、exeファイルは何らかの理由でMicrosoft mapiを呼び出しますが、phpを介してexeを呼び出すとmapiが初期化されていないことがわかりませんが、コマンドラインからexeを実行すると正常に動作します。理由はありますか?
ps 2008年のサーバーでiisを実行しています
c# - 画像が埋め込まれた HTML メールを作成し、.net (c#) を使用して既定のメール クライアントに表示する方法は?
Windows の切り取りツールを見ると、切り取りをデフォルトのメール クライアントに埋め込まれた添付ファイルとして送信するオプションがあります (HTML メールと思われます)。まさにそれが必要です。
現時点では、単純な MAPI を使用して画像を添付していますが、埋め込みは許可されていません。
重要な要件の 1 つは、作成してからデフォルトのメール クライアントに表示することです。そのために System.Net.Mail を使用できるとは思いません。それともできますか?
c# を使用した WPF アプリケーションです。
編集:答える前に質問をよく読んでください。私はこれに慣れていません。ハックに頼らずにアンマネージ コードでこれを行う方法を知っています。管理された同等物が必要です。ハックを探しているわけではなく、必要に応じて正しい解決策にかなりの時間を費やして喜んでいます.
c# - Outlook - マウントされたメールボックスにアクセスすると 0×8004010F エラーがスローされる
0×8004010F あるユーザーが Outlook で別のマウントされたユーザーのメールボックスにアクセスすると、エラーがスローされます。キャッシュされた交換モードを無効にする以外に、これに対する可能な解決策は何ですか? VSTO が使用され、実装は C# です。