【问题标题】:Can I set subject/content of email using mailto:?我可以使用 mailto: 设置电子邮件的主题/内容吗?
【发布时间】:2011-06-14 12:02:35
【问题描述】:

使用mailto时可以设置邮件的主题/内容吗?

【问题讨论】:

标签: html email mailto


【解决方案1】:

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

邮件主题示例:

<a href="mailto:no-one@snai1mai1.com?subject=free chocolate">example</a>

带有内容的邮件:

<a href="mailto:no-one@snai1mai1.com?subject=look at this website&body=Hi,I found this website and thought you might like it http://www.geocities.com/wowhtml/">tell a friend</a>

正如 cmets 中提到的,subjectbody 都必须正确转义。每个都使用encodeURIComponent(subject),而不是针对特定情况手动编码。

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

%0D%0A // one line break

【讨论】:

  • 正文可以使用HTML吗?
  • 这完全是客户特定的。一般情况下不会。
  • 仅供参考:您不必对主题进行 htmlescape
  • 请注意,W3C 要求您按照以下规则对字符串进行编码:字符应在 NFC 中表示,空格应转义为 %20。
  • +一个用于复古的 Angelfire 和 Geocities 链接,让我产生了强烈的怀旧情绪
【解决方案2】:
mailto:joe@company.com?subject=Your+subject

【讨论】:

  • 我的subject 不是文字。这是个桌子。如何添加。
  • @David 您不能在主题上放置表格,您知道电子邮件主题是如何工作的吗?主题是纯文本字符串。您可以在主题上放置的基本内容中最多的是表情符号
【解决方案3】:

是的,你可以这样:

mailto: email@host.com?subject=something

【讨论】:

  • 我不认为空间应该在那里?
  • 这应该没有空格。
【解决方案4】:
<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>

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

【讨论】:

    【解决方案5】:

    您可以使用以下任一方式将主题添加到 mailto 命令。 将 ?subject out mailto 添加到 mailto 标签。

    <a href="mailto:test@example.com?subject=testing out mailto">First Example</a>
    

    我们还可以通过在标签末尾添加 &body 来将文本添加到消息正文中,如下例所示。

     <a href="mailto:test@example.com?subject=testing out mailto&body=Just testing">Second Example</a>
    

    除了正文之外,用户还可以键入 &cc 或 &bcc 来填写 CC 和 BCC 字段。

    <a href="mailto:test@example.com?subject=testing out mailto&body=Just testing&cc=test1@example.com&bcc=test1@example.com">Third
        Example</a>
    

    How to add subject to mailto tag

    【讨论】:

      【解决方案6】:

      这是诀窍 http://neworganizing.com/content/blog/tip-prepopulate-mailto-links-with-subject-body-text

      <a href="mailto:tips@neworganizing.com?subject=Your+tip+on+mailto+links&body=Thanks+for+this+tip">tell a friend</a>
      

      【讨论】:

      • 是否需要 + 而不是空格?不用 gmail 也能正常工作
      • 链接已失效
      • 链接失效,试试qawithexperts.com/article/html/… 了解在锚标签中使用mailto的详细信息
      【解决方案7】:

      是的:

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

      您可以在表单中输入主题、正文(即内容)等,点击按钮并查看可以粘贴到页面中的 mailto html 链接。

      您甚至可以指定鲜为人知和使用的元素:抄送、密送、来自电子邮件。

      【讨论】:

      • 这个 href 字段编辑器的一个非常有用的功能是能够将所有字符编码为十六进制(例如:[Test Zõne] 变为 %5BTest%20Z%C3%B5ne%5D,这可以避免一些垃圾邮件机器人)。
      • 我的意思是,如果您选择对所有字符进行编码,它们都会被转换为 HTML 表示法&amp;#x(避免一些垃圾邮件机器人)。
      • 此链接已失效。
      【解决方案8】:

      我将它分成几行以使其更具可读性。

      <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>
      

      【讨论】:

      • 这个问题是 5 年前回答的
      • 今天你想邮寄东西时仍然使用它
      【解决方案9】:

      如果您想在电子邮件中添加 html 内容,请对邮件正文的 html 代码进行 url 编码,并将其包含在您的 mailto 链接代码中,但问题是您无法从纯文本链接中设置电子邮件的类型对于 html,使用该链接的客户端需要他们的邮件客户端默认发送 html 电子邮件。如果您想在这里测试一个简单的 mailto 链接的代码,链接中包含一个图像(为可见性添加了角度样式的 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编码的。

      【讨论】:

      【解决方案10】:

      注意邮件正文中不能使用HTML,根据RFC 2368

      特殊的hname“body”表示关联的hvalue是消息的主体。 “body” hname 应包含消息的第一个文本/纯正文部分的内容。 mailto URL 主要用于生成实际上是自动处理内容的短文本消息(例如邮件列表的“订阅”消息),而不是一般的 MIME 正文。

      信用:https://stackoverflow.com/a/13415988/1835519

      【讨论】:

      • 问题是问如何设置主题和内容。它没有提到格式化。虽然这是在回答时要注意的有用的事情,但您忽略了什么是可能的以及如何实现它。没有它,这是评论,而不是答案。
      • Jure 我真的很感谢你把它作为这个问题的答案,因为这正是我需要找出并问自己的。因此,虽然 Quentin 认为这并不能回答 OP 问题,但它回答了我正在寻找的那个提出这篇文章的问题。非常感谢 Jure!
      【解决方案11】:

      mailto: URL 方案在RFC 2368 中定义。此外,将信息编码为 URL 和 URI 的约定在 RFC 1738RFC 3986 中定义。这些规定了如何将 bodysubject 标头包含到 URL (URI) 中:

      mailto:infobot@example.com?subject=current-issue&body=send%20current-issue
      

      具体来说,您必须对电子邮件地址、主题和正文进行百分比编码,并将它们放入上述格式。百分比编码的文本在 HTML 中使用是合法的,但是根据HTML4 standard,此 URL 必须经过实体编码才能在 href 属性中使用:

      <a href="mailto:infobot@example.com?subject=current-issue&amp;body=send%20current-issue">Send email</a>
      

      一般来说,这里是一个简单的 PHP 脚本,按照上述方式进行编码。

      <?php
      $encodedTo = rawurlencode($message->to);
      $encodedSubject = rawurlencode($message->subject);
      $encodedBody = rawurlencode($message->body);
      $uri = "mailto:$encodedTo?subject=$encodedSubject&body=$encodedBody";
      $encodedUri = htmlspecialchars($uri);
      echo "<a href=\"$encodedUri\">Send email</a>";
      ?>
      

      【讨论】:

      【解决方案12】:

      这是一个可运行的 sn-p,可帮助您生成 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>

      【讨论】:

        【解决方案13】:

        我创建了一个开源工具来简化此操作。输入你想要的字符串,你会立即得到mailto

        mailto.now.sh

        ?⚡️ 在 mailto 中模板完整的电子邮件

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-01-09
          • 2016-02-13
          • 2010-10-11
          • 2014-07-06
          相关资源
          最近更新 更多