Insertar un salto de línea en mailto body


166

Me gustaría insertar un salto de línea en mi cuerpo mailto. Intenté% 0A,% 0D y% 0D% 0A. Nada me funcionó. Probé en Gmail, Yahoo, Apple Mail, Outlook 2010, Outlook.com y Thunderbird con Google Chrome en Mac OSX.

Cualquier ayuda por favor?

Aquí está mi código:

<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 ¿Cómo es eso un duplicado? Esa es una pregunta muy específica acerca de cómo %20se utiliza para ingresar una nueva línea, no cómo hacer una nueva línea como esta pregunta.
jdmdevdotnet

1
A mí me parece un tonto. Esa pregunta pregunta "¿cómo inserto un salto de línea como hago un espacio". No está preguntando cómo usarlo %20 como una nueva línea. La única diferencia sustancial que veo es que esta pregunta sobre el cuerpo, mientras que esa pregunta es sobre el tema. Sin embargo, es la misma respuesta en cualquier caso.
Amy

Respuestas:


242

Te sugiero que pruebes la etiqueta html <br> , en caso de que su aplicación de marketing lo reconozca.

Yo uso %0D%0A. Esto debería funcionar siempre que el correo electrónico tenga formato 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>

Es probable que desee eliminar el% 20 antes del Nombre, de lo contrario tendrá un espacio como primer carácter en la siguiente línea.

Una nota, cuando probé esto con su código, funcionó (junto con un poco de espacio adicional). ¿Está utilizando un cliente de correo que no permite el formato HTML?


1
Ya lo intenté %0D%0A, y no me funciona. Utilizo una solución de marketing por correo electrónico para enviar mi boletín. Supongo que está reescribiendo mi código
Marion

1
Oh, si está utilizando una solución separada, ¿ha probado la etiqueta HTML "<br>"? Eso a veces funciona cuando estoy usando aplicaciones de terceros.
Jem

2
Hice algunas pruebas con otra plataforma, ¡mi código funciona perfectamente! definitivamente viene de la solución que uso. Todas esas horas perdidas por nada ... lo siento chicos, y nuevamente gracias por su ayuda
Marion

44
Si desea convertir todos <br>, <br/>o <br />al %0D%0Aque puede hacervar emailBody = htmlBody.replace(/<br\s*\/?>/mg,"%0D%0A");
João Ferreira Pimentel

117

Según RFC2368 que define mailto:, reforzado aún más por un ejemplo en RFC1738 , se establece explícitamente que la única forma válida de generar un salto de línea es con %0D%0A.

Esto también se aplica a todos los esquemas de URL como gopher, smtp, sdp, imap, ldap, etc.


77
Tenga en cuenta que si está construyendo un enlace mailto usando JavaScript, puede usar escape('\r\n')para obtener %0D%0A.
Mark Rhodes

66
Nota adicional: si está construyendo el enlace con las plantillas de cadena ES6 / ES2015, el código sin formato ( %0D%0A) funciona bien.
Adam Simpson

@ MarkRhodes: Dado que mailto es un URI, también puede usar encodeURI (myMailToURIString), que luego escapará a todos los caracteres necesarios en su cuerpo de correo :-)
Lars Juel Jensen

4

Curiosamente en gmail para android %0D%0Ano funciona y <br>funciona:

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

-1

Para el correo electrónico de texto sin formato con JavaScript, también puede usarlo \rcon encodeURIComponent().

Por ejemplo, este mensaje:

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

URI codificado, resultados en:

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

Y, usando el 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

El resultado será el siguiente texto del cuerpo del correo electrónico:

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

1
@littlecoder Porque es una respuesta pobre: ​​mal formateada, mal redactada y omite el contexto esencial. Es tan probable que confunda a las personas que llegan a esta página como lo es ayudarlas. No es útil para los estándares de este sitio, por lo que se ha votado en consecuencia
UnrealEagle
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.