문제

이 질문은 이미 여기에 답이 있습니다.

나는 Mailto 링크를 많이 엉망으로 만들 필요가 없었다. 그러나 이제 가능하다면 메일 토 본문에 링크를 추가해야합니다.

링크를 추가하거나 열린 이메일을 HTML 이메일 대 텍스트 이메일로 변경하는 방법이 있습니까?

같은 것 :

<a href="mailto:test@test.test?body=The message's first paragraph.%0A%0aSecond paragraph.%0A%0AThird Paragraph.%0A%0ALink goes here">Link text goes here</a>
도움이 되었습니까?

해결책

섹션 2 RFC 2368 그 말을합니다 body 필드가 들어와야합니다 text/plain 형식이므로 HTML을 할 수 없습니다.

그러나 일반 텍스트를 사용하더라도 일부 최신 메일 클라이언트는 어쨌든 클릭 가능한 링크로 URL을 렌더링 할 수 있습니다.

다른 팁

다음과 같이 전체 링크를 추가합니다.

 "http://"

라인의 시작 부분까지, 가장 괜찮은 이메일 클라이언트는 전송하기 전에 또는 수신시 다른 쪽에서 자동 링크를 자동 링크합니다.

모든 매개 변수로 인해 랩핑 할 가능성이 긴 URL의 경우 링크를 기호보다 작거나 크게 랩핑하십시오. 이것은 이메일 클라이언트에게 알려줍니다 ~ 아니다 URL을 랩핑합니다.

예를 들어

  <http://www.example.com/foo.php?this=a&really=long&url=with&lots=and&lots=and&lots=of&prameters=on_it>

링크에 HTML이 필요하고 Mailto 링크는 HTML 이메일을 만들지 않기 때문에 내가 알 수있는 한 불가능합니다.

이 링크에 JavaScript 또는 iframes를 추가 할 수 있으므로 보안을위한 것일 수 있으며 이메일 클라이언트는 최종 사용자가 취약점을 위해 열 수 있습니다.

IE의 JavaScript 아래를 확인하십시오. 다른 현대식 브라우저가 작동하는지 아닌지 모르겠습니다.

<html>
    <head>
        <script type="text/javascript">
            function OpenOutlookDoc(){
                try {

                    var outlookApp = new ActiveXObject("Outlook.Application");
                    var nameSpace = outlookApp.getNameSpace("MAPI");
                    mailFolder = nameSpace.getDefaultFolder(6);
                    mailItem = mailFolder.Items.add('IPM.Note.FormA');
                    mailItem.Subject="a subject test";
                    mailItem.To = "an@email.here";
                    mailItem.HTMLBody = "<b>bold</b>";
                    mailItem.display (0); 
                }
                catch(e){
                    alert(e);
                    // act on any error that you get
                }
            }
        </script>
    </head>
    <body>
        <a href="javascript:OpenOutlookDoc()">Click</a>
    </body>
</html>

여기 내가 함께 한 것입니다. 필요한 선택 모바일 장치에서 작동하지만 솔루션이 얼마나 보편적인지 잘 모르겠습니다.

<a href="mailto:me@me.com?subject=Me&body=%3Chtml%20xmlns%3D%22http:%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%3E%3C%2Fhead%3E%3Cbody%3EPlease%20%3Ca%20href%3D%22http:%2F%2Fwww.w3.org%22%3Eclick%3C%2Fa%3E%20me%3C%2Fbody%3E%3C%2Fhtml%3E">

'Mailto'바디의 사양은 다음과 같습니다.

메시지의 본문은 단순히 미국-ASCII 문자의 줄입니다. 신체의 유일한 두 가지 제한은 다음과 같습니다.

  • CR과 LF는 CRLF로만 발생해야합니다. 그들은 몸에 독립적으로 나타나서는 안됩니다.
  • 신체의 문자 라인은 998 자로 제한되어야하며 CRLF를 제외한 78 자로 제한되어야합니다.

https://tools.ietf.org/html/rfc5322#section-2.3

일반적으로 오늘날 대부분의 이메일 클라이언트는 보안 문제로 인해 자동 링크에 능숙하지만 전부는 아닙니다. 당신은 몇 가지 작업을 찾을 수 있지만 반드시 보편적으로 작동하는 것은 아닙니다.

iOS 기기에서 작동하는 다음과 구현을 구현했지만 Android 장치에서는 실패했습니다.

<a  href="mailto:?subject=Your mate might be interested...&body=<div style='padding: 0;'><div style='padding: 0;'><p>I found this on the site I think you might find it interesting.  <a href='@(Request.Url.ToString())' >Click here </a></p></div></div>">Share This</a>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top