2017-07-19 18 views
1

私は、ボタンをクリックすると、デフォルトの電子メールクライアントが飛び出し、添付ファイルがある場合、それが自動的にデフォルトの電子メールに添付されるべきであるという問題に取り組んでいますこのようなクライアント。添付ファイル付きでデフォルトの電子メールクライアントを開く方法

enter image description here

私はすでにこれを行うにはどのような方法の多くを試してみました。最初に私はMAPIを使用しますが、MAPIは、私はすでにコントロールパネルで設定していても、私のデフォルトのメールクライアントを検出することができない、それは

enter image description here

enter image description here

この2つのメッセージボックスを表示私はすでにについてインターネットを検索しましたそれらのエラーが、私にはっきりとした明確な答えはありません。 HERE'S私はMAPIで使用したコードです。

このコード行を使用して前述のプロトコルを処理するデフォルトの電子メールクライアントを呼び出すために、mail:toプロトコルも使用しました。

Dim proc As System.Diagnostics.Process = New System.Diagnostics.Process() 

      Dim filename = Convert.toChar(34) & "C:\USERS\JOSHUA~1.HER\DOWNLO~1\ASDPOR~1.PDF" & Convert.toChar(34) 
      Debug.Writeline(filename) 
      Dim asd As String = String.Format("mailto:[email protected]?subject=hello&body=love my body&Attach={0}", filename) 
      proc.StartInfo.FileName = asd 
      proc.Start() 

しかし、まだ運がありません。私はmail:toがもう添付ファイルを処理しないスレッドを読んだが、このコード行はbodyとsubjectでデフォルトの電子メールクライアントを開いたが、添付ファイルはない。 filename変数に関しては、すべてのパス形式を試しましたが、私は8.3パス形式を使用するべきだと読んでいます。しかし、まだ動作しません。

最後に使用した方法は、System.Net.MailMessage.MailMessage()THISと答えています。これは、デフォルトの電子メールクライアントを開いてメールに添付ファイルを添付するという点で機能しますが、このコード行は.emlファイルを生成して開くだけなので、デフォルトの電子メールクライアントには送信ボタンはありません。私はemlファイルを解析することを考えていますが、新しいメッセージ形式でデフォルトの電子メールクライアントをプログレッシブに開く方法はまだ分かりません。ここで君たちはこれを可能にする方法任意のアイデアを持っている写真

enter image description here

ですか?ありがとう!

+0

ApartmentState.STAで新しいThreadStartを使用してMAPIアプローチを試しましたか?それが私のために働くことができる唯一の方法でした。 –

答えて

0

メールクライアントに一般的な方法を使用することはできません。しかし、System.Net.Mail.SmtpClientと単純なカスタムUIを使用して、独自のソリューションを簡単に作成できます。

+0

私はカスタムUIを行う場合、自分の個人メールにログインするには 'authkey'を使う必要がありますか? – Rich

+0

メールメッセージのみを送信する場合は、SMTPサーバーの資格情報を知る必要があります。しかし、SmtpClientを使用して送信するものはメールボックスには格納されません(メールクライアント以外のものによって送信されます)。 –

+0

私は、ユーザーが手動でメッセージを送信したい、私はちょうど添付ファイルが選択されている自分のメールクライアントを開きたい。ほとんどの人の既定の電子メールクライアントはWindows 10の 'Mail'です。そのほとんどは他のメールクライアントをインストールしないので、技術的にはその添付ファイルで新しいメッセージを開く方法を特定したいと考えています。私がカスタムメールクライアントを作ったら、自分のアカウントを使ってメールを送るためには、Google、Yahooなどで 'authkey'に取り組む必要があると思う。どう思いますか? – Rich

関連する問題