我在一个HTML文档中有几个mailto链接。
<a href="mailto:etc...">
我可以插入HTML格式的身体在mailto: href的一部分?
<a href="mailto:me@me.com?subject=Me&body=<b>ME</b>">Mail me</a>
请注意(2016)在iOS中,添加<i>和<b>标签用于简单的斜体、粗体格式是完全没问题的。
我在一个HTML文档中有几个mailto链接。
<a href="mailto:etc...">
我可以插入HTML格式的身体在mailto: href的一部分?
<a href="mailto:me@me.com?subject=Me&body=<b>ME</b>">Mail me</a>
请注意(2016)在iOS中,添加<i>和<b>标签用于简单的斜体、粗体格式是完全没问题的。
当前回答
不。这根本不可能。
其他回答
不。这根本不可能。
我已经使用了这个,它似乎与outlook工作,不使用html,但你可以格式化文本与换行符,至少当正文被添加为输出。
<a href="mailto:email@address.com?subject=Hello world&body=Line one%0DLine two">Email me</a>
虽然不可能使用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;
It is worth pointing out that on Safari on the iPhone, at least, inserting basic HTML tags such as <b>, <i>, and <img> (which ideally you shouldn't use in other circumstances anymore anyway, preferring CSS) into the body parameter in the mailto: does appear to work - they are honored within the email client. I haven't done exhaustive testing to see if this is supported by other mobile or desktop browser/email client combos. It's also dubious whether this is really standards-compliant. Might be useful if you are building for that platform, though.
正如其他响应所指出的,在将encodeURIComponent嵌入到mailto:链接之前,还应该在整个正文上使用encodeURIComponent。
任何人都可以尝试以下(mailto函数只接受明文,但在这里我展示如何使用HTML内文属性,以及如何添加锚作为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