2012-10-04 16 views
12

私はWindowsストアアプリケーション(Windows 8)を開発しています。WinRT/Windows Storeアプリケーションから電子メールを送信するにはどうすればよいですか?

私は、アプリケーションデータに格納されているデータとアドレスに基づいて、ユーザーがデータまたはアドレスを入力する必要なく、電子メールを送信する必要があります。

それを実装する正しい/簡単な方法は何でしょうか?

EitanB

答えて

9

正しい方法は共有を使用することです。あなたのアプリは、HTML文書やテキストを作成して共有する必要があります。ユーザーは共有チャームからメールを選択し、HTML /テキストは電子メールの本文になります。

これは、mailtoのために使用する正しい構文です...詳細はこちら

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh973055.aspx

+0

これは問題です(ただし、質問に記載された特別なケースではありません)。 g。フィードバックボタンがあると、ユーザーをチャームバーにリダイレクトできません。 – jalgames

30

あなたはSMTPサーバーが必要になります。もちろん

var mailto = new Uri("mailto:[email protected]&subject=The subject of an email&body=Hello from a Windows 8 Metro app."); 
await Windows.System.Launcher.LaunchUriAsync(mailto); 
+0

Windows 8 RT Appの共有を使用 –

+0

試してみましたがうまくいきましたが、「好きな」方法はShare Charmになると思います。 あなたのご意見ありがとうございます! –

+4

好きな方法は必ずしも共有チャームではありません。共有チャームは、あなたのアプリから特定のコンテンツを共有したいときに使用されます。私は連絡先を選択して共有を押すと、私は私がこの連絡先の連絡先の詳細を共有し、彼にメールを送信することはできないと思うだろう私のアプリの連絡先のリストを持っている。彼にメールを送るには連絡先を選択して、mailto:を使用するアプリケーションバーのメールアイコンを押し、メールアプリのフルスクリーンを起動します。 – GeertvdC

1

それはSMTPサーバーに接続するために、常に可能だと問題がなどHELO、MAIL、RCPT、などのコマンドを試すことができますに接続する。私は企業のイントラネットでこれを使って電子メールを送信します。

+0

Windows 8 RT Appの共有を使用する –

6

を参照してください(mailtoの持つ上記の他の例とは異なり:間違っている。)リンク

mailto:メソッドの問題は、ユーザーにmailtoに関連付けられたクライアントプログラムがない場合です。何も起こりません。

最も信頼性の高い方法は、WebサービスまたはWCFサービスです。 Windows 8で「正しい」方法と見なされているときにShare Charmを使用することは、ユーザーが電子メールクライアントをまだインストールしていない可能性があるため、必要ではありません。

3

ユニバーサルWinRT Windows Phoneアプリケーションを開発する場合は、 "Microsoft.Phone.Tasks.EmailComposeTask"名前空間がWinRTアプリケーションで動作しないため、 "Windows.ApplicationModel.Email.EmailMessage"名前空間を使用できます。

次に、このコードを使用して新しいメールを作成して起動します。

あなたの(または他の開発者の)問題を解決することを願っています。

よろしくお願いいたします。

+1

Windows 8のストアアプリでこれを行う方法はありますか? – SandRock

関連する問題