DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C#で、メーラの起動について

環境/言語:[Windows XP   C#  ]
分類:[.NET]

C#で、Outlookを起動したいのです。

Process.Start("mailto:アドレス");
で、起動することまでは可能なのですが、アドレス部分を、フォーム上にある、テキストボックスに表示しているものから、引用してきたいのですが、どうすればよいのでしょうか?

Process.Start("mailto:textBox.text");
では、アドレスがtextBox.text になってしまうし・・・

いくつか思いつくものは試してみたのですが、よく分からず・・・。

よろしくお願いします。
■No10470に返信(蜂蜜レモンさんの記事)
> いくつか思いつくものは試してみたのですが、よく分からず・・・。
では当然
Process.Start("mailto:" + textBox.text);
というのも試されたのですよね?
あ、すみません。
やりたいことが、ちょっと違って、
Process.Start("mailto:アドレス?cc=<>&bcc=<>&subject=ここは件名&body=ここは本文");
というふうに、ccやbccをつけたかったんです。
そうすると、
Process.Start("mailto:" + アドレス? + "cc=<>&bcc=<>&subject=ここは件名&body=ここは本文");
ではうまくいかず・・・。

すみません、質問足らずで・・
■No10473に返信(蜂蜜レモンさんの記事)
> Process.Start("mailto:" + アドレス? + "cc=<>&bcc=<>&subject=ここは件名&body=ここは本文");
> ではうまくいかず・・・。
どううまくいかないのかサッパリわかりませんが、

Process.Start( "mailto:" + textBox1.Text
               + "?cc=" + textBox2.Text 
               + "&bcc=" + textBox3.Text
               + "&subject=" + textBox4.Text
               + "&body=" + textBox5.Text );

でちゃんと任意のテキストボックスの値がはいりましたが。
textBoxの内容をそのまま入れるのはまずかったです。

"&"や"=","?"などをURLエンコードする必要がありました。
それと入力されていないtextBoxがある場合の対処もしなければいけなかったですね。
あぁ〜!なるほど!!
できました!
ありがとうございました〜

DOBON.NET | プログラミング道 | プログラミング掲示板