1

私は以下を達成する必要があります

1- 電子メール メッセージを下書きとして保存し、後でユーザーが手動で開いたり、変更したり、送信したりできるようにします

2- 電子メールを作成し、Outlook を新しい電子メールとして開き、ユーザーがその場で送信または破棄できるようにします

Microsoft.Office.Interop.Outlookと の両方を使用したサンプル コードがありますSmtpClientSmtpClientOutlook を自動化できないと思います。そして、2 番目のオプションについては、参照を追加したくありません。Microsoft.Office.Interop.Outlookなぜなら、Office Outlook がインストールされていない場合です!!!

ですから、さらなる読書のために私を導いてください。

編集

oType参照を使用しないと、Outlook がインストールされていない場合でもフォームを開くことができます。これは、後にnull をチェックするだけで確認できます。

Type oType = Type.GetTypeFromProgID("Outlook.Application");

参照を追加し、クライアントがフォームを開いて Outlook が存在しない場合、または参照されたライブラリが Office 2013 でインストールされたライブラリが Office 2010 である場合はどうなりますか? フォームを開くか、例外をスローしますか、または次の行は引き続き機能しますか?

Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();    
Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");
4

1 に答える 1

0

ここで少し明確にする必要があります。あなたは、Outlook を自動化したいが、それに依存したくないと言います。電子メール クライアントの概念を抽象化していない限り、それは奇妙なことですが、それが動機ではないようです。

相互運用アセンブリに依存していると仮定すると、アプリケーションが実際にその参照を使用する前に、壊れた/無効な参照をチェックできます。こちらをご覧ください。

于 2013-08-21T11:18:41.983 に答える