mailto 링크에서 여러 줄이 올바르게 작동하도록하는 데 문제가 있습니다.
제 경우에는 Outlook 기본 메일 리더로 테스트하고 있습니다.
다음은 앵커 href에 입력됩니다.
mailto:email@address.com?&subject=test&body=type%20your&body=message%20here
이메일 본문에는 “여기에 메시지”만 표시됩니다. (Chrome 또는 IE 사용 여부)
생각?
답변
당신이 사용할 수있는 URL이 인코딩 과 줄 바꿈을 인코딩 %0A
.
mailto:email@address.com?subject=test&body=type%20your%0Amessage%20here
대부분의 경우 작업에 위에 표시되는 동안, 사용자 olibre의 종료 지점 이하는 흔한 URI 구성표를 지정 지배하는 RFC %0D%0A
(캐리지 리턴 + 줄 바꿈)을 대신 사용해야합니다 %0A
(줄 바꿈). 참조 : 줄 바꿈 표현 .
답변
body
mailto
문자열 내에서 단일 매개 변수 사용%0D%0A
개행으로 사용
mailto
URI 계획은 에 의해 지정됩니다 RFC2368 (7 월 1998) 및 RFC6068 (년 10 월 2010).
다음은 이 마지막 RFC 섹션 5 에서 발췌 한 것입니다 .
[…] 메시지 본문의 줄 바꿈은
"%0D%0A"
.
구현은 본문에 후행이 없더라도 메시지 본문에 마지막 줄 바꿈을 추가 할 수 있습니다."%0D%0A"
[…]
섹션 6 에서 동일한 RFC의 예를 참조하십시오 .
<mailto:infobot@example.com?body=send%20current-issue%0D%0Asend%20index>
위 mailto
본문은 다음에 해당합니다.
send current-issue
send index
답변
본문 라인을 얻으려면 escape ()를 사용하십시오.
body_line = escape("\n");
그래서
href = "mailto:me@my.com?body=hello,"+body_line+"I like this.";
답변
이것은 내가 바로 추가 할 것입니다 \n
및 사용encodeURIComponent
예
var emailBody = "1st line.\n 2nd line \n 3rd line";
emailBody = encodeURIComponent(emailBody);
href = "mailto:me@somesite.com?body=" + emailBody;
encodeURIComponent 문서 확인