Mailto gövdesine satır sonu ekleme


166

Mailto gövdesime satır sonu eklemek istiyorum. % 0A,% 0D ve% 0D% 0A'yı denedim. Benim için hiçbir şey işe yaramadı. Mac OSX'te Google Chrome ile Gmail, Yahoo, Apple Mail, Outlook 2010, Outlook.com ve Thunderbird üzerinde test yaptım.

Herhangi bir yardım lütfen?

İşte benim kod:

<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 Bu nasıl bir kopya? Bu, %20bu soru gibi yeni bir hattın nasıl oluşturulacağı değil, yeni bir satıra girmek için kullanılan çok özel bir sorudur.
jdmdevdotnet

1
Bana bir dupe gibi gözüküyor. Bu soru "nasıl bir boşluk gibi satır sonu ekleyebilirim" sorusunu sorar. Yeni satır %20 olarak nasıl kullanılacağını sormaz . Gördüğüm tek önemli fark bunun bedeni sorması, oysa bu soru konuyu soruyor. Her iki durumda da aynı cevap.
Amy

Yanıtlar:


242

<br>Pazarlama uygulamanızın tanıyacağı durumlarda html etiketini denemenizi öneririm .

Ben kullanıyorum %0D%0A. Bu, e-posta HTML biçiminde olduğu sürece çalışmalıdır.

<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>

Muhtemelen Firstname'den önce% 20'yi çıkarmak isteyeceksiniz, aksi takdirde bir sonraki satırdaki ilk karakter olarak bir boşluğunuz olacaktır.

Bir not, bunu kodunuzla test ettiğimde çalıştı (bazı ekstra boşluklarla birlikte). HTML biçimlendirmesine izin vermeyen bir posta istemcisi mi kullanıyorsunuz?


1
Zaten denedim %0D%0Ave bu benim için çalışmıyor. Bültenimi göndermek için bir e-posta pazarlama çözümü kullanıyorum. Sanırım kodumu yeniden yazıyor
Marion

1
Ayrı bir çözüm kullanıyorsanız, "<br>" HTML etiketini denediniz mi? Bazen üçüncü taraf uygulamaları kullanırken işe yarar.
Jem

2
Başka bir platformla bazı testler yaptım, kodum mükemmel çalışıyor! kesinlikle kullandığım çözümden geliyor. Tüm bu saatler hiçbir şey için kayboldu ... üzgünüm çocuklar ve tekrar yardımın için teşekkür ederim
Marion

4
Her dönüştürmek istiyorsanız <br>, <br/>ya <br />hiç %0D%0Ayapabileceğinizvar emailBody = htmlBody.replace(/<br\s*\/?>/mg,"%0D%0A");
João Pimentel Ferreira

118

Gereğince RFC2368 tanımlar ki mailto:bundan başka bir örnek ile takviye edilmiş, RFC1738 , açıkça bir satır sonu oluşturmak için geçerli bir şekilde sahip olduğu belirtilmiştir %0D%0A.

Bu, gopher, smtp, sdp, imap, ldap vb. Tüm URL şemaları için de geçerlidir.


7
Senin JavaScript kullanarak bir mailto linki inşa, o zaman kullanabileceği Not escape('\r\n')almak için %0D%0A.
Mark Rhodes

6
Ek not: ES6 / ES2015 dize şablonlarıyla bağlantı oluşturuyorsanız, ham kod ( %0D%0A) iyi çalışır.
Adam Simpson

@MarkRhodes: mailto bir URI olduğundan, posta gövgenizde gereken tüm karakterlerden kaçacak olan encodeURI (myMailToURIString) de kullanabilirsiniz :-)
Lars Juel Jensen

4

Android için gmail'de merakla %0D%0Açalışmıyor ve <br>çalışıyor:

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

-1

JavaScript kullanan düz metin e-postalar için \rile de kullanabilirsiniz encodeURIComponent().

Örneğin, bu mesaj:

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

Kodlanmış URI, şunlarla sonuçlanır:

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

Ve href kullanarak:

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

Aşağıdaki e-posta gövde metniyle sonuçlanır:

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

1
@littlecoder Kötü bir cevap olduğu için: kötü biçimlendirilmiş, kötü ifade edilmiş ve temel bağlamı atlıyor. Bu sayfaya gelen insanları onlara yardım etmek kadar karıştırmak da olasıdır. Bu sitenin standartlarına göre yararlı değildir ve bu nedenle buna göre
oylanmıştır
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.