[html] 複数のボディラインをリンクするmailto


Answers

  1. mailto文字列内で単一のbodyパラメーターを使用する
  2. %0D%0Aを改行として使用する

mailto URI Schemeは、 RFC2368 (1998年7月)とRFC6068 (2010年10月)によって指定されています。
以下はこの最後のRFCのセクション5の抜粋です:

[...]メッセージ本文の改行は、 "%0D%0A"でエンコードされなければなりません。
実装は、ボディに末尾の"%0D%0A"がなくても、メッセージの本文に最後の改行を加えることができる(MAY)[...]

同じRFCの例のセクション6も参照してください:

<mailto:infobot@example.com?body=send%20current-issue%0D%0Asend%20index>

上記のmailtoボディは次のものに対応します:

send current-issue
send index
Question

mailtoリンクで複数の行が正しく動作するのに問題がある

私の場合は、Outlookのデフォルトのメールリーダーでテストしています。

アンカーのhrefには、次のものが入ります。

mailto:email@address.com?&subject=test&body=type%20your&body=message%20here

メール本文には「ここのメッセージ」のみが表示されます。 (私がクロムかIEを使うかどうか)

思考?




これは私がやっていることです。 \nを追加してencodeURIComponentを使うだけです

var emailBody = "1st line.\n 2nd line \n 3rd line";

emailBody = encodeURIComponent(emailBody);

href = "mailto:me@somesite.com?body=" + emailBody;



Links