여러 본문을 연결하는 메일 여러 줄이 올바르게 작동하도록하는

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(줄 바꿈). 참조 : 줄 바꿈 표현 .


답변

  1. bodymailto문자열 내에서 단일 매개 변수 사용
  2. %0D%0A개행으로 사용

mailtoURI 계획은 에 의해 지정됩니다 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 문서 확인