2012年5月24日木曜日

Windows Phone プログラミング(メールを送る)

こんにちは, Windows Phone のアプリを作っているときに, アプリからアプリのデータをメールで送れる機能を追加したいと思い, 調べてみました。 そのメモです。


Windows Phone では, Phone で設定したメール関連のデータをもとに, 標準装備のメールクライアントから, メールを送ることができます。

その際, To CC  本文などをアプリのプログラムから設定することが可能です。

MSDNのリンク

簡単なUtility を作ってみました。


 public static void sendEmail( string subject, string body )
 {
    var task = new EmailComposeTask();

    try
    {
       task.Subject = subject;   // Set Title(Subject)
       task.Body = body;             //  Set Mail Content(Body)
       task.Show();
    }
    catch (InvalidOperationException)
    {
       MessageBox.Show("メール機能サポートしてないみたい");
    }
}


EmailComposeTask というクラスを使います。

このインスタンスに対して, プロパティを設定します。

To                      
Bcc
Body
Cc
CodePage            キャラクターセット
Subject

がプロパティとして用意されているみたいです。
EmailComposeTask を利用するには,
using Microsoft.Phone.Tasks;

を入れましょう。

task.Show() というのを入れると, メールクライアントの選択をします。

ちなみにエミュレーターだと動作しません。 ので, 例外処理は必ず入れましょう。

実機で試してみましたが, 筆者の場合は, hotmail の選択肢が出ました。

そのhotmail を選択すると, メールクライアントが起動します。  Android の Intentみたいですね。

その先は, クライアントプログラムの処理なので, アプリ側の操作は必要ありません。

クライアントを起動した時点で, 設定したパラメータが反映されます。(もちろん変更できます)

1 件のコメント: