잡동사니

반응형

질문

HTML 문서에 몇 개의 mailto 링크가 있습니다.

<a href="mailto:etc...">

href mailto : 부분에 HTML 형식의 본문을 삽입 할 수 있습니까?

<a href="mailto:me@me.com?subject=Me&body=<b>ME</b>">Mail me</a>

(2016) iOS에서는 < i > < b > 태그를 추가하여 간단하게 기울임 꼴, 굵은 형식.


답변1

RFC 6068 에서 볼 수 있듯이 이것은 전혀 불가능합니다.

특수 < hfname > "body"는 연관된 < hfvalue > 를 나타냅니다. 메시지의 본문입니다. "body"필드 값은 첫 번째 텍스트 / 일반 본문의 내용을 포함합니다. 메시지. "본문"의사 헤더 필드는 주로 자동 처리를위한 짧은 텍스트 메시지 생성 (예 : 일반 MIME가 아닌 메일 링리스트의 "구독"메시지) 시체.



답변2

아니요. 전혀 불가능합니다.



답변3

HTML을 사용하여 이메일 본문의 형식을 지정할 수는 없지만 이전에 제안한대로 줄 바꿈을 추가 할 수 있습니다.

자바스크립트를 사용할 수 있다면 "encodeURIComponent ()"를 아래와 같이 사용할 수 있습니다.

var formattedBody = "FirstLine \n Second Line \n Third Line";
var mailToLink = "mailto:x@y.com?body=" + encodeURIComponent(formattedBody);
window.location.href = mailToLink;


답변4

나는 이것을 사용했고 그것은 html을 사용하지 않고 outlook에서 작동하는 것처럼 보이지만 적어도 본문이 출력으로 추가되면 줄 바꿈으로 텍스트 서식을 지정할 수 있습니다.

<a href="mailto:email@address.com?subject=Hello world&body=Line one%0DLine two">Email me</a>


답변5

원하는 것은 아니지만 최신 자바스크립트를 사용하여 클라이언트에서 EML 파일을 만들고이를 사용자의 파일 시스템으로 스트리밍 할 수 있습니다. 그러면 Outlook과 같은 메일 프로그램에서 HTML이 포함 된 풍부한 이메일이 열립니다.

https://stackoverflow.com/a/27971771/8595398

다음은 이미지와 표가 포함 된 이메일의 jsfiddle입니다. https://jsfiddle.net/seanodotcom/yd1n8Lfh/

HTML

<!-- https://jsfiddle.net/seanodotcom/yd1n8Lfh -->
<textarea id="textbox" style="width: 300px; height: 600px;">
To: User <user@domain.demo>
Subject: Subject
X-Unsent: 1
Content-Type: text/html

<html>
<head>
<style>
    body, html, table {
        font-family: Calibri, Arial, sans-serif;
    }
    .pastdue { color: crimson; }
    table {
        border: 1px solid silver;
        padding: 6px;
    }
    thead {
        text-align: center;
        font-size: 1.2em;
        color: navy;
        background-color: silver;
        font-weight: bold;
    }
    tbody td {
        text-align: center;
    }
</style>
</head>
<body>
<table width=100%>
    <tr>
        <td><img src="http://www.laurell.com/images/logo/laurell_logo_storefront.jpg" width="200" height="57" alt=""></td>
        <td align="right"><h1><span class="pastdue">PAST DUE</span> INVOICE</h1></td>
    </tr>
</table>
<table width=100%>
    <thead>
        <th>Invoice #</th>
        <th>Days Overdue</th>
        <th>Amount Owed</th>
    </thead>
    <tbody>
    <tr>
        <td>OU812</td>
        <td>9</td>
        <td>$4395.00</td>
    </tr>
    <tr>
        <td>OU812</td>
        <td>9</td>
        <td>$4395.00</td>
    </tr>
    <tr>
        <td>OU812</td>
        <td>9</td>
        <td>$4395.00</td>
    </tr>
    </tbody>
</table>
</body>
</html>
</textarea> <br>
<button id="create">Create file</button><br><br>
<a download="message.eml" id="downloadlink" style="display: none">Download</a>

자바스크립트

(function () {
var textFile = null,
  makeTextFile = function (text) {
    var data = new Blob([text], {type: 'text/plain'});
    if (textFile !== null) {
      window.URL.revokeObjectURL(textFile);
    }
    textFile = window.URL.createObjectURL(data);
    return textFile;
  };

  var create = document.getElementById('create'),
    textbox = document.getElementById('textbox');
  create.addEventListener('click', function () {
    var link = document.getElementById('downloadlink');
    link.href = makeTextFile(textbox.value);
    link.style.display = 'block';
  }, false);
})();


답변6

예를 들어 < br / > use 를 사용하는 대신 줄 바꿈을 원하는 경우 등 일부가 가능하지만 전부는 아닙니다.

예:

<a href="mailto:?subject=&body=Hello,%0D%0A%0D%0AHere is the link to the PDF Brochure.%0D%0A%0D%0ATo view the brochure please click the following link: http://www.uyslist.com/yachts/brochure.pdf"><img src="images/email.png" alt="EMail PDF Brochure" /></a>                        


답변7

iPhone의 Safari에서는 적어도 < b > , < i >와 같은 기본 HTML 태그를 삽입한다는 점을 지적 할 가치가 있습니다. < img > (이상적으로는 CSS를 선호하는 다른 상황에서 더 이상 사용하지 않아야 함)를 mailto : 는 작동하는 것처럼 보입니다-이메일 클라이언트 내에서 적용됩니다. 다른 모바일 또는 데스크톱 브라우저 / 이메일 클라이언트 콤보에서 이것이 지원되는지 확인하기 위해 철저한 테스트를 수행하지 않았습니다. 이것이 실제로 표준을 준수하는지 여부도 모호합니다. 하지만 해당 플랫폼을 구축하는 경우 유용 할 수 있습니다.

다른 응답에서 언급했듯이 mailto : 링크에 포함하기 전에 전체 본문에 encodeURIComponent를 사용해야합니다.



답변8

Thunderbird 지원 < code> html-body : mailto : me@me.com? subject = Me & html-body = < b > ME < / b



답변9

html 공유와 관련하여 동일한 문제가 있습니다. 나는 나를 위해 html 작업을 수행합니다.<를 <로 & >를 >로 바꿉니다.

< a href = "mailto :? subject = link Share & body = & lt; a href = 'www.google.com'& gt; google lt; / a & gt; "> 이메일 < / a >

참고 : 우분투에서만 작동합니다. Windows에서는 작동하지 않습니다.



답변10

누구나 다음을 시도 할 수 있습니다 (mailto 함수는 일반 텍스트 만 허용하지만 여기서는 HTML innertext 속성을 사용하는 방법과 앵커를 mailto 본문 매개 변수로 추가하는 방법을 보여줍니다).

//Create as many html elements you need.

const titleElement = document.createElement("DIV");
titleElement.innerHTML = this.shareInformation.title; // Just some string

//Here I create an <a> so I can use href property
const titleLinkElement = document.createElement("a");
titleLinkElement.href = this.shareInformation.link; // This is a url

...

let mail = document.createElement("a");

// Using es6 template literals add the html innerText property and anchor element created to mailto body parameter
mail.href = 
  `mailto:?subject=${titleElement.innerText}&body=${titleLinkElement}%0D%0A${abstractElement.innerText}`;
mail.click();

// Notice how I use ${titleLinkElement} that is an anchor element, so mailto uses its href and renders the url I needed


답변11

개행 문자 (예 : \ u0009 )를 삽입하기 위해 유니 코드 값을 입력 할 수 있지만 HTML 태그는 지원 정도가 다양하므로 피해야합니다.



답변12

나는 이런 식으로 일했습니다.

var newLine = escape("\n");
var body = "Hello" + newLine +"World";

출력은 다음과 같습니다.

Hello
World  


 

 

 

 

출처 : https://stackoverflow.com/questions/5620324/mailto-link-with-html-body

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band