mailto本文に改行を挿入する


166

mailtoの本文に改行を挿入したいと思います。%0A、%0D、%0D%0Aを試しました。何もうまくいきませんでした。Mac OSX上のGoogle Chromeを使用して、Gmail、Yahoo、Apple Mail、Outlook 2010、Outlook.com、Thunderbirdでテストしました。

何か助けてください?

これが私のコードです:

<a href="mailto:email@mycompany.com?subject=Subscribe&body=Lastame%20%3A%0D%0A%20Firstname%20%3A"><img alt="Subscribe" class="center" height="50" src="subscribe.png" style="width: 137px; height: 50px; color: #4da6f7; font-size: 20px; display: block;" width="137"></a>


@John重複はどうですか?これは、%20この質問のように新しい行を作成する方法ではなく、新しい行の入力に使用することについての非常に具体的な質問です。
jdmdevdotnet 2017年

1
私にはだまされたように見えます。その質問は、「スペースを挿入するように改行を挿入する方法」を尋ねます。改行%20 として使用する方法を尋ねているわけではありません。私が目にする唯一の実質的な違いは、これは身体について尋ねることですが、その質問は主題について尋ねます。ただし、どちらの場合も同じ答えです。
Amy

回答:


242

<br>マーケティングアプリケーションで認識される場合に備えて、htmlタグを試すことをお勧めします。

使用します%0D%0A。これは、電子メールがHTML形式である限り機能します。

<a href="mailto:email@mycompany.com?subject=Subscribe&body=Lastame%20%3A%0D%0AFirstname%20%3A"><img alt="Subscribe" class="center" height="50" src="subscribe.png" style="width: 137px; height: 50px; color: #4da6f7; font-size: 20px; display: block;" width="137"></a>

おそらくFirstnameの前に%20を削除する必要があります。そうしないと、次の行の最初の文字としてスペースが使用されます。

メモ、これをあなたのコードでテストしたところ、(いくつかの余分なスペースとともに)機能しました。HTMLのフォーマットを許可しないメールクライアントを使用していますか?


1
私はすでに試しましたが%0D%0A、うまくいきません。メールマーケティングソリューションを使用してニュースレターを送信しています。私のコードを書き直していると思います
Marion

1
ああ、別のソリューションを使用している場合、HTMLタグ「<br>」を試しましたか?これは、サードパーティのアプリケーションを使用しているときに機能する場合があります。
Jem

2
私は他のプラットフォームでいくつかのテストを行いましたが、私のコードは完全に機能しています!それは間違いなく私が使用するソリューションから来ています。すべてのそれらの時間は無駄に失われました...ごめんなさい、そして再びあなたの助けをありがとう
マリオン

4
あなたは、すべてを変換したい場合<br><br/>または<br />%0D%0Aあなたが行うことができますvar emailBody = htmlBody.replace(/<br\s*\/?>/mg,"%0D%0A");
ジョアン・ピメンテル・フェレイラを

117

あたりとしてRFC2368定義mailto:さらなる例で補強し、RFC1738、明示的に改行を生成するための唯一の有効な方法がであることが記載されています%0D%0A

これは、gopher、smtp、sdp、imap、ldapなどのすべてのURLスキームにも適用されます。


7
JavaScriptを使用してmailtoリンクを作成している場合は、を使用してescape('\r\n')を取得できることに注意してください%0D%0A
マークロードス

6
追記:ES6 / ES2015文字列テンプレートを使用してリンクを構築している場合、生のコード(%0D%0A)は問題なく機能します。
アダムシンプソン

@MarkRhodes:mailtoはURIであるため、encodeURI(myMailToURIString)を使用することもできます。これにより、メール本文に必要なすべての文字をエスケープします:-)
Lars Juel Jensen

4

不思議なことにandroidのgmailは%0D%0A機能せず機能し<br>ます。

<a href="mailto:anything@any.com?subject=This%20is%20Subject&body=First line<br>Second line">
   click here to mail me
</a>

-1

JavaScriptを使用して平文メールについて、あなたはまた、使用すること\rencodeURIComponent()

たとえば、次のメッセージ:

hello\rthis answer is now well formated\rand it contains good knowleadge\rthat is why I am up voting

URIエンコード、結果:

hello%0Dthis%20answer%20is%20now%20well%20formated%0Dand%20it%20contains%20good%20knowleadge%0Dthat%20is%20why%20I%20am%20up%20voting

そして、hrefを使用します:

mailto:me@house.country?body=hello%0Dthis%20answer%20is%20now%20well%20formated%0Dand%20it%20contains%20good%20knowleadge%0Dthat%20is%20why%20I%20am%20up%20voting

次の電子メール本文テキストになります。

hello
this answer is now well formated
and it contains good knowleadge
that is why I am up voting

1
@littlecoderは答えが悪いためです。形式が不十分で、言葉遣いが不十分で、重要なコンテキストが省略されています。このページにアクセスした人を助けるのと同じくらい混乱させる可能性が高いです。このサイトの基準では役に立たないため、それに応じて投票されました
UnrealEagle
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.