在邮件正文中插入换行符

我想在我的邮件正文中插入一个换行符。 我试了%0A, %0D和%0D%0A。对我来说什么都没用。 我在Gmail, Yahoo, Apple Mail, Outlook 2010, Outlook.com和Thunderbird上使用谷歌Chrome在Mac OSX上测试

有人帮忙吗?

这是我的代码:

<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>
195073 次浏览

我建议您尝试html标记<br>,以防您的营销应用程序将识别它。

我使用%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格式吗?

根据定义了mailto:RFC2368,通过RFC1738中的一个例子进一步加强,它显式地声明了生成换行符的唯一有效方法是使用%0D%0A

这也适用于所有的url方案,如gopher, smtp, sdp, imap, ldap等。

对于使用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

奇怪的是,在gmail的android %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>

对于单行和双换行符,这里有以下代码。

单断点:%0D0A
双断点:%0D0A%0D0A

<a href="mailto:example@gmail.com?subject=Request&body=Hi,%0DName:[your name] %0DGood day " target="_blank"></a>

尝试添加%0D来换行。这肯定有用。

上面的代码将显示以下内容:

Hi,
Name:[your name]
Good day