여러 본문을 연결하는 메일


120

mailto 링크에서 여러 줄이 올바르게 작동하도록하는 데 문제가 있습니다.

제 경우에는 Outlook 기본 메일 리더로 테스트하고 있습니다.

다음은 앵커 href에 입력됩니다.

mailto:email@address.com?&subject=test&body=type%20your&body=message%20here

이메일 본문에는 "여기에 메시지"만 표시됩니다. (Chrome 또는 IE 사용 여부)

생각?

답변:


208

당신이 사용할 수있는 URL이 인코딩 과 줄 바꿈을 인코딩 %0A.

mailto:email@address.com?subject=test&body=type%20your%0Amessage%20here

대부분의 경우 작업에 위에 표시되는 동안, 사용자 olibre의 종료 지점 이하는 흔한 URI 구성표를 지정 지배하는 RFC %0D%0A(캐리지 리턴 + 줄 바꿈)을 대신 사용해야합니다 %0A(줄 바꿈). 참조 : 줄 바꿈 표현 .


4
고마워, 이것은 나를 위해 잘 작동했으며 인터넷에 떠 다니는 다른 솔루션보다 훨씬 간단 해 보입니다.
bryn

이것은 모든 특수 문자에 대해 작동해야합니다. & = % 26, % = % 25,이 패턴이 유지되지 않는 문자가 있습니까?
blast_hardcheese 2013

2
정보 $0A는 간단합니다escape( "\n" )
divillysausages 2014-06-09

2
해당 인코더는 표준 encodeURIComponent을 사용하여 URI 구성 요소를 인코딩합니다.
Cees Timmerman

1
% 0D % 0A 이메일 작업 및 whatsapp 메시지 공유
BenB

40
  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

18

본문 라인을 얻으려면 escape ()를 사용하십시오.

body_line =  escape("\n");

그래서

href = "mailto:me@my.com?body=hello,"+body_line+"I like this.";

1
개인적으로 선호합니다. 당신이 시도하고 % 추가 할 때이 또한 작동 주로하기 때문에
댄 제임스 파머

5
encodeURIComponent, 오히려. 여기를 보아라.
Cees Timmerman

15

이것은 내가 바로 추가 할 것입니다 \n및 사용encodeURIComponent

var emailBody = "1st line.\n 2nd line \n 3rd line";

emailBody = encodeURIComponent(emailBody);

href = "mailto:me@somesite.com?body=" + emailBody;

encodeURIComponent 문서 확인


무엇 include을 위해 사용 encodeURIComponent합니까?
frakman1

1
@ frakman1 encodeURIComponent는 JavaScript 함수입니다. 포함하지 않고 사용할 수 있습니다.
kiranvj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.