mailto
HTML 문서에 몇 개의 링크가 있습니다.
<a href="mailto:etc...">
의 mailto:
일부에 HTML 형식의 본문을 삽입 할 수 있습니까 href
?
<a href="mailto:me@me.com?subject=Me&body=<b>ME</b>">Mail me</a>
iOS의 (2016)에서 간단한 이탤릭체로 대담한 서식 을 추가 <i>
하고 <b>
태그 를 추가하는 것이 좋습니다.
mailto
HTML 문서에 몇 개의 링크가 있습니다.
<a href="mailto:etc...">
의 mailto:
일부에 HTML 형식의 본문을 삽입 할 수 있습니까 href
?
<a href="mailto:me@me.com?subject=Me&body=<b>ME</b>">Mail me</a>
iOS의 (2016)에서 간단한 이탤릭체로 대담한 서식 을 추가 <i>
하고 <b>
태그 를 추가하는 것이 좋습니다.
답변:
RFC 6068 에서 볼 수 있듯이 전혀 불가능합니다.
특수한
<hfname>
"본문"은 연관된<hfvalue>
본문이 메시지의 본문 임을 나타냅니다 . "body"필드 값은 메시지의 첫 번째 텍스트 / 일반 본문 부분에 대한 내용을 포함합니다. "본문"의사 헤더 필드는 주로 일반 MIME 본문이 아니라 자동 처리를위한 짧은 텍스트 메시지 (메일 링리스트의 "구독"메시지)를 생성하기위한 것입니다.
아니요. 전혀 불가능합니다.
HTML을 사용하여 이메일 본문을 형식화 할 수는 없지만 이전에 제안한대로 줄 바꿈을 추가 할 수 있습니다.
자바 스크립트를 사용할 수 있다면 "encodeURIComponent ()"는 아래와 같이 사용될 수 있습니다 ...
var formattedBody = "FirstLine \n Second Line \n Third Line";
var mailToLink = "mailto:x@y.com?body=" + encodeURIComponent(formattedBody);
window.location.href = mailToLink;
raw("text \n more text \n\n\t")
기능을 사용하여 텍스트를 캡슐화하고 전자 메일 본문의 줄 바꿈 및 탭으로 변환 할 수 있습니다.
\n
.
나는 이것을 사용했고 HTML을 사용하지 않고 전망과 함께 작동하는 것처럼 보이지만 적어도 본문이 출력으로 추가 될 때 줄 바꿈으로 텍스트의 서식을 지정할 수 있습니다.
<a href="mailto:email@address.com?subject=Hello world&body=Line one%0DLine two">Email me</a>
그것은 당신이 원하는 것이 아니지만, 현대적인 자바 스크립트를 사용하여 클라이언트에서 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);
})();
어떤 것들은 가능하지만, 모든, 당신이 사용하는 대신, 줄 바꿈을하려면, 예를 들어 말을 <br />
사용%0D%0A
예:
<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>
그것은 아이폰에서 사파리에, 적어도 같은 기본 HTML 태그를 삽입하는 것을 지적 가치가있다 <b>
, <i>
그리고 <img>
의 몸 매개 변수에 (이상적으로는 CSS 선호, 더 이상 어쨌든 다른 상황에서 사용해서는 안 함) mailto:
로 표시 않는다 작업-이메일 클라이언트 내에서 영광입니다. 다른 모바일 또는 데스크탑 브라우저 / 이메일 클라이언트 콤보에서 지원되는지 확인하기 위해 철저한 테스트를 수행하지 않았습니다. 이것이 실제로 표준을 준수하는지 여부도 모호합니다. 그래도 해당 플랫폼을 구축하는 경우 유용 할 수 있습니다.
다른 응답에서 언급했듯이 mailto:
링크에 포함하기 전에 전체 본문에서 encodeURIComponent를 사용해야 합니다.
누구나 다음을 시도 할 수 있습니다 (mailto 함수는 일반 텍스트 만 허용하지만 HTML innertext 속성을 사용하는 방법과 mailto body 매개 변수로 앵커를 추가하는 방법을 보여줍니다).
//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