2014-03-31 90 views
77

我想向我的mailto正文中插入換行符。 我試過%0A,%0D和%0D%0A。沒有爲我工作。 我使用Mac OSX上的Google Chrome在Gmail,Yahoo,Apple Mail,Outlook 2010,Outlook.com和Thunderbird上進行了測試。在mailto正文中插入換行符

請幫忙嗎?

這裏是我的代碼:

<a href="mailto:[email protected]?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> 
+4

可能重複:HTTP: //stackoverflow.com/questions/15019689/html-insert-line-break-in-email-subject-like-20-is-a-space – John

+0

@John這是如何重複?這是一個非常具體的問題,關於'%20'用於輸入新行,而不是如何製作像這個問題一樣的新行。 – jdmdevdotnet

+0

看起來像一個愚蠢的我。這個問題問「我如何插入一個換行符,就像我做一個空間」。它不會問如何使用'%20' *作爲換行符。我看到的唯一的實質性差異是這是在詢問身體,而這個問題是關於這個問題的。不管在哪種情況下,它都有相同的答案。 – Amy

回答

121

我建議你嘗試的HTML標籤<br>,如果你的營銷應用程序將識別它。我使用%0D%0A。只要電子郵件是HTML格式,這應該工作。

<a href="mailto:[email protected]?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> 

您可能想要在名字前取出%20,否則您將在下一行中有空格作爲第一個字符。

請注意,當我使用您的代碼對其進行測試時,它的工作原理(以及一些額外的間距)。您是否使用不允許HTML格式的郵件客戶端?

+0

我已經試過'%0D%0A',它不適合我。我使用電子郵件營銷解決方案發送我的通訊。我想這是重寫我的代碼 – Marion

+1

哦,如果您使用的是單獨的解決方案,您是否嘗試過HTML標籤「
」?當我使用第三方應用程序時,這有時會起作用。 – Jem

+2

我用另一個平臺做了一些測試,我的代碼工作完美!它絕對來自我使用的解決方案。所有這些時間都是空虛的......對不起,夥計們,再次感謝您的幫助 – Marion

54

作爲每RFC2368限定mailto:,還通過一個例子在RFC1738加固,它明確地表示,以產生線路中斷的唯一有效的辦法是用%0D%0A

這也適用於所有URL方案,如地鼠,SMTP,SDP,IMAP,LDAP等。

+2

請注意,如果您使用JavaScript構建mailto鏈接,那麼您可以使用'escape('\ r \ n')'來獲取'%0D%0A'。 –

+2

其他注意事項:如果您使用ES6/ES2015字符串模板構建鏈接,則原始代碼('%0D%0A')可以正常工作。 –

-4

的明文電子郵件 - 使用 「\ r」。

like:「這是我的測試\ rthis是我的測試\ ryes它是」;它會給3線電子郵件,像下面

線1:這是我的測試

線2:這是我的測試

3號線:是的,它是