当我使用mailto:时,是否可以设置电子邮件的主题/内容?


当前回答

下面是一个可运行的代码片段,可以帮助您生成带有可选主题和正文的mailto:链接。

function generate() { var email = $('#email').val(); var subject = $('#subject').val(); var body = $('#body').val(); var mailto = 'mailto:' + email; var params = {}; if (subject) { params.subject = subject; } if (body) { params.body = body; } if (params) { mailto += '?' + $.param(params); } var $output = $('#output'); $output.val(mailto); $output.focus(); $output.select(); document.execCommand('copy'); } $(document).ready(function() { $('#generate').on('click', generate); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" id="email" placeholder="email address" /><br/> <input type="text" id="subject" placeholder="Subject" /><br/> <textarea id="body" placeholder="Body"></textarea><br/> <button type="button" id="generate">Generate & copy to clipboard</button><br/> <textarea id="output">Output</textarea>

其他回答

是的,看看所有的提示和技巧mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm

邮件主题示例:

<a href=“mailto:no-one@snai1mai1.com?主选=免费巧克力">example</a>

邮件内容:

<a href="mailto:no-one@snai1mai1.com?subject=看这个网站&body=嗨,我发现了这个网站,认为你可能会喜欢它http://www.geocities.com/wowhtml/">告诉一个朋友</a>

正如注释中提到的,主体和主体都必须正确转义。使用encodeURIComponent(subject),而不是针对特定情况手工编码。

正如Hoody在评论中提到的,你可以通过在字符串中添加以下编码序列来添加换行符:

%0D%0A // one line break

我把它分成几行,让它更容易读。

<a href="

    mailto:johndoe@gmail.com

    ?subject=My+great+email+to+you

    &body=This+is+an+awesome+email

    &cc=janedoe@gmail.com

    &bcc=billybob@yahoo.com

">Click here to send email!</a>
<a href="mailto:manish@simplygraphix.com?subject=Feedback for 
webdevelopersnotes.com&body=The Tips and Tricks section is great
&cc=anotheremailaddress@anotherdomain.com
&bcc=onemore@anotherdomain.com">Send me an email</a>

您可以使用此代码设置主题,正文,抄送,密件

是的:

使用它来试验mailto表单元素和链接编码。

你可以输入主题,主体(即内容)等到表单,点击按钮,看到mailto html链接,你可以粘贴到你的页面。

你甚至可以指定很少被知道和使用的元素:抄送,密件抄送,从电子邮件。

如果你想添加html内容到你的电子邮件,url编码你的html代码的消息体,并包括在你的mailto链接代码,但问题是你不能设置电子邮件的类型从明文到html,客户端使用链接需要他们的邮件客户端默认发送html电子邮件。如果你想测试的话,这里有一个简单的mailto链接的代码,链接中包含一个图像(添加angular风格的url是为了可见性):

<a href="mailto:?body=%3Ca%20href%3D%22{{ scope.url }}%22%3E%3Cimg%20src%3D%22{{ scope.url }}%22%20width%3D%22300%22%20%2F%3E%3C%2Fa%3E">

html标记是url编码的。