html - que - mailto enlaza múltiples líneas corporales
tag mailto link (4)
- Use un parámetro de
body
único dentro de la cadenamailto
- Use
%0D%0A
como nueva línea
El mailto
URI de mailto
está especificado por RFC2368 (julio de 1998) y RFC6068 (octubre de 2010).
A continuación se muestra un extracto de la sección 5 de este último RFC:
[...] los saltos de línea en el cuerpo de un mensaje DEBEN codificarse con
"%0D%0A"
.
Las implementaciones PUEDEN agregar un salto de línea final al cuerpo de un mensaje, incluso si no hay un"%0D%0A"
posterior en el cuerpo [...]
Ver también en la sección 6 el ejemplo de la misma RFC:
<mailto:[email protected]?body=send%20current-issue%0D%0Asend%20index>
El cuerpo de mailto
anterior corresponde a:
send current-issue
send index
tener problemas para hacer que varias líneas funcionen correctamente en un enlace de mailto
En mi caso, lo estoy probando con un lector de correo predeterminado de Outlook.
Lo siguiente se coloca en un ancla href:
mailto:[email protected]?&subject=test&body=type%20your&body=message%20here
solo aparece el "mensaje aquí" en el cuerpo del correo electrónico. (Si uso Chrome o IE)
pensamientos?
Esto es lo que hago, simplemente agregue /n
y use encodeURIComponent
Ejemplo
var emailBody = "1st line./n 2nd line /n 3rd line";
emailBody = encodeURIComponent(emailBody);
href = "mailto:[email protected]?body=" + emailBody;
Para obtener líneas corporales use escape ()
body_line = escape("/n");
asi que
href = "mailto:[email protected]?body=hello,"+body_line+"I like this.";
Puede usar la codificación URL para codificar la nueva línea como %0A
.
mailto:[email protected]?subject=test&body=type%20your%0Amessage%20here
Mientras que lo anterior parece funcionar en muchos casos, el usuario olibre señala que el RFC que rige el esquema de URI de mail especifica que se debe usar %0D%0A
(retorno de carro + avance de línea) en lugar de %0A
(avance de línea). Ver también: Representaciones de Newline .