mailto
HTMLドキュメントにいくつかのリンクがあります。
<a href="mailto:etc...">
HTML形式の本文を mailto:
部分に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...">
HTML形式の本文を mailto:
部分に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」フィールドの値は、メッセージの最初のテキスト/プレーンボディ部分のコンテンツを含むことを目的としています。「body」疑似ヘッダーフィールドは、自動処理用のショートテキストメッセージ(メーリングリスト用の「subscribe」メッセージなど)の生成を主な目的としており、一般的なMIME本文用ではありません。
いいえ、これはまったく不可能です。
HTMLを使用してメール本文をフォーマットすることはできませんが、以前に提案されているように改行を追加できます。
javascriptを使用できる場合は、「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を使用せずにOutlookで動作するようですが、少なくとも本文が出力として追加されている場合は、改行でテキストをフォーマットできます。
<a href="mailto:email@address.com?subject=Hello world&body=Line one%0DLine two">Email me</a>
それはあなたが望むものではありませんが、最新のjavascriptを使用してクライアント上にEMLファイルを作成し、それをユーザーのファイルシステムにストリーミングすることができます。
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>
JavaScript
(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 />
use%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>
これは、iPhone上のSafariで、少なくとも、などの基本的なHTMLタグを挿入することを指摘する価値がある<b>
、<i>
と<img>
ボディパラメータに(理想的にはあなたがCSS好む、もうとにかく他の状況で使うべきではないもの)mailto:
に表示されません仕事-彼らは電子メールクライアント内で尊敬されています。これが他のモバイルまたはデスクトップのブラウザー/電子メールクライアントの組み合わせでサポートされているかどうかを確認するための徹底的なテストは行っていません。これが本当に標準に準拠しているかどうかも疑わしいです。ただし、そのプラットフォーム用に構築している場合は役立つかもしれません。
他の応答で指摘されているように、mailto:
リンクに埋め込む前に、本文全体でencodeURIComponentも使用する必要があります。
Thunderbirdは以下をサポートします html-body
:mailto:me@me.com?subject=Me&html-body=<b>ME</b>
誰でも次のことを試すことができます(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
ユニコード値を入力して改行(つまり:)を挿入することは可能です\u0009
が、HTMLタグはサポートの度合いが異なるため、回避する必要があります。