6

私のWindows8ストアアプリでは、ページに[メールを送信]ボタンがあり、ユーザーはそれをクリックして、いくつかの一般的な問い合わせのためにメールを送信することができます。

メール本文にテキストをプリロードする必要がありますが、改行を追加できないようです。やってみEnvironment.NewLineまし"\r\n"た。それらのどれも動作しません。

var mailto = new Uri("mailto:?to=james.jones@example.com&subject=Hello world&body=Hi," + Environment.NewLine + "Can you please ..."); 
await Windows.System.Launcher.LaunchUriAsync(mailto);

実行すると「こんにちは、お願いします…」と表示されます。改行は省略されます。

4

3 に答える 3

8

"%0d%0a"のように、改行として使用してみてください

"Hi,%0d%0aCan you please..."

これは、URLエンコードされたASCII CR/LFシーケンスです。これは組み込みのメールアプリでは機能しますが、ユーザーが将来インストールする可能性のある任意のメールアプリで機能するという特別な保証はありません。

于 2012-10-20T00:41:50.643 に答える
5

それが機能しない理由は、Uriを起動しているためです。Urisでは、コンテンツがUrlEncoded/UrlEncodableである必要があります。Environment.Newlineなどの場合、無効なURIを取得します。

これに対抗するには、次のように環境改行をUrlEncodingします。

System.Net.WebUtility.UrlEncode(Environment.NewLine)
于 2013-03-05T17:43:22.483 に答える
0

メールアプリにコンテンツを共有するには、共有コントラクトの使用を検討する必要があります。利点:ソフトウェアを使用しているユーザーは、電子メールだけでなく、他のアプリとソフトウェアを共有できます。

于 2012-10-21T09:51:12.283 に答える