私は、ボタンをクリックすると、デフォルトの電子メールクライアントが飛び出し、添付ファイルがある場合、それが自動的にデフォルトの電子メールに添付されるべきであるという問題に取り組んでいますこのようなクライアント。添付ファイル付きでデフォルトの電子メールクライアントを開く方法
私はすでにこれを行うにはどのような方法の多くを試してみました。最初に私はMAPIを使用しますが、MAPIは、私はすでにコントロールパネルで設定していても、私のデフォルトのメールクライアントを検出することができない、それは
この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ファイルを解析することを考えていますが、新しいメッセージ形式でデフォルトの電子メールクライアントをプログレッシブに開く方法はまだ分かりません。ここで君たちはこれを可能にする方法任意のアイデアを持っている写真
ですか?ありがとう!
ApartmentState.STAで新しいThreadStartを使用してMAPIアプローチを試しましたか?それが私のために働くことができる唯一の方法でした。 –