mailtoリンクで複数の行を正しく機能させるのに問題がある
私の場合、Outlookのデフォルトのメールリーダーでテストしています。
以下はアンカーhrefに入れられます:
mailto:email@address.com?&subject=test&body=type%20your&body=message%20here
メール本文には「ここにメッセージ」のみが表示されます。(私がクロムまたはIEを使用するかどうか)
考え?
body
mailto
文字列内で単一のパラメータを使用する%0D%0A
改行として使用mailto
URIスキームは、RFC2368(1998年7月)およびRFC6068 (2010年10月)によって指定されています。以下は、この最後のRFCのセクション5の
抜粋です。
[...]メッセージ本文の改行は。でエンコードする必要があります
"%0D%0A"
。
実装では、本文に末尾がない場合でも、メッセージの本文に最後の改行を追加できます"%0D%0A"
[...]
セクション6の同じRFCの例も参照してください。
<mailto:infobot@example.com?body=send%20current-issue%0D%0Asend%20index>
上記のmailto
本文は以下に対応します。
send current-issue
send index
ボディラインを取得するには、escape()を使用します
body_line = escape("\n");
それで
href = "mailto:me@my.com?body=hello,"+body_line+"I like this.";
これは私がしていることです、追加\n
して使用するだけですencodeURIComponent
例
var emailBody = "1st line.\n 2nd line \n 3rd line";
emailBody = encodeURIComponent(emailBody);
href = "mailto:me@somesite.com?body=" + emailBody;
encodeURIComponentドキュメントを確認してください