0

次のコードを使用して、Windows ストア アプリでメールを送信しようとしました。

    var mailto = new Uri("mailto:?to=recipient@example.com&subject=The subject of an email&body=Hello from a Windows 8 Metro app.");
await Windows.System.Launcher.LaunchUriAsync(mailto);

エラーは表示されませんでしたが、メールは届きませんでした。上記のコードで何が間違っていましたか?

4

2 に答える 2

2

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

詳細については、こちらを参照してください...

ここ

于 2013-01-01T12:54:33.820 に答える
0

コードはmailto:、リンク内のすべての情報を使用して、既定のメール クライアント (つまり、プロトコルを処理するための既定のアプリケーション) を開く必要があります。そうでない場合は、デフォルトのアプリケーションが正しく設定されていない可能性があります。Mailこれは、このプロトコルを処理するアプリケーションを選択する前に、最初に私に起こりました。

それでも、少なくとも次の 2 つの理由から、ユーザーにそのようなエクスペリエンスを提供したくない場合があります。

  • コードは、ユーザー マシンの構成方法によって異なります。実行時に何が起こるかはわかりません。
  • が既定のアプリであってもMail、コードは新しいドラフトを作成するだけであり、ユーザーはそれを自分で送信する必要があります。

達成したいことに応じて、次のいずれかのアプローチを検討します。

  • Azzy が既に提案したように、電子メールをインタラクティブに送信するには、共有が Windows ストア アプリでの適切なアプローチです。
  • 電子メールを非対話的に送信する場合は、Web サービスを作成し、アプリが呼び出したときにそこから電子メールを送信する必要があります。
于 2013-01-01T13:44:54.960 に答える