2009-08-05 3 views
0

これを行う方法を見つけることができないのは本当に奇妙なので、明らかに何か不足しているのだろうかと思います。MS Wordのような添付ファイルを使ってC#から電子メールを送ろうとしています

私はWordやExcel、ファイルに発見されたように我々のアプリケーションのメニューを入れたいんだ - 私たちの要件が作成した電子メールを表示するようにしている

(添付ファイル)]> [メール受信者 - >に送りますWordやExcelと同様に、添付ファイルは自動的に送信されません。

ファイルを一時フォルダに保存して使用することができました。 Shell.Execute( "mailto:my.email.com?subject = File & attachment =" c:\ temp.txt ");

添付ファイル&をVB.NETとC#の両方で引用符や二重引用符などを使用して試しましたが、System.Net.Mailも試しましたが、どこにでも表示することはできません。メールを作成して送信できるようです。

のおかげで、 ブライアン

+0

一般的な解決策や特定のメールクライアントをお探しですか?あなたのShell.Executeソリューションは、異なるクライアントにこれを必要とする可能性があります。 –

+0

こちらをご覧くださいhttp://stackoverflow.com/questions/784997/launching-email-application-mapi-from-c-with-attachment –

答えて

2

私はVisual Studio Tools for Officeから相互運用Outlookを使用して、これをやった:

using IntOut = Microsoft.Office.Interop.Outlook; 
... 
IntOut.Application app = new IntOut.Application(); 
IntOut.MailItem item = (IntOut.MailItem)app.CreateItem(
           IntOut.OlItemType.olMailItem); 
item.Subject = "Hello world"; 
item.Body = "Hello!"; 
item.Display(false); // set to true to make mail window modal 

あなたは、いくつかのsamples on MSDN hereを見つけることができます。

0

一般的なケースでは、これを行う方法はありません。ここにはMicrosoftのドキュメントがあります:http://msdn.microsoft.com/en-us/library/aa767737(VS.85).aspx

メールクライアントを提供できる場合は、より良い回答を得ることができます。

0

残念ながら、Outlookの参照は使用できません。私たちは商用のアプリケーションを持っており、interop(インストールされていない)を含めることはできません。私はコードが複雑すぎるので、Outlookの参照を避けたいと思います。 Outlook Express、Outlook 2000、2003、または2007、またはLotus Notes、または...知らないデフォルトの電子メールクライアントを想定することはできません。私たちは商用アプリケーションを持っているので、特定のアプリケーションを想定することはできません。 MS Wordと同様に、インストールされているもの(またはインストールされていないもの)でも動作する必要があります。

関連する問題