0

当我运行此代码时,我可以发送电子邮件,但我无法将 HTML 正文加载到电子邮件正文中,请帮助我使用 Javascript 将 html 正文加载到电子邮件正文中。

<script type="text/javascript">
    function sendMail() {
        var link = 'mailto:hello@domain.com?subject=Message from ' +document.getElementById('email_address').value +'&body='+document.getElementById('email_address').value;
        window.location.href = link;
    }
</script>

<body>
    <form method="post" action="">
        <input type="hidden" id="email_address" name="name" placeholder="Enter your email address..." required>
        <button onclick="sendMail()">Send Email</button>
        <br>
        MALE:
        <td><input type="checkbox" name="Package" value="yes">Yes </td>
        <td><input type="checkbox" name="Package" value="no">No  </td>
    </form>
</body>
4

3 回答 3

0

首先使用jQuery。这是使用 Javascript 时的事实标准。

完成后,您可以简单地使用 $("body").html() 来获取文档的 html。

于 2013-06-13T09:23:01.843 回答
0

您需要一种服务器端语言来发送电子邮件。有许多。
下面是使用 PHP 发送电子邮件的代码

<?php
 $to = "recipient@domain.com";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";
 if (mail($to, $subject, $body)) {
   echo("<p>Message successfully sent!</p>");
  } else {
   echo("<p>Message delivery failed...</p>");
  }
?>

您需要执行以下操作(无论任何服务器端语言)
1. 使用 JavaScript 获取数据并验证
2. 将数据(使用 POST 或 GET)发送到服务器端语言
3. 在服务器端,您需要从请求对象中获取数据
4. 使用这些数据准备您的电子邮件
5. 发送电子邮件


引用您的代码段
HTML 代码:

<form method="post" action="sendemail.php">
<input type="hidden" id="email_address" name="name" placeholder="Enter your email
address..." required>
<input type="submit" value="Send Email" />
<br>
 MALE:
 <td><input type="checkbox" name="Package" value="yes">Yes </td>
 <td><input type="checkbox" name="Package" value="no">No  </td>
 </tr>
  </form>

PHP代码:

<?php
  $package = $_REQUEST['Package'];   // It is the name you give to input elements
  ...
  ...  // Same code as above (prepare email and sent)
  ...
?>

在将代码提交到 php 之前,您可以对其进行验证。
这会给你关于流程的想法

于 2013-06-13T09:34:07.477 回答
0

无法从 HTML 文档中创建 HTML 电子邮件(由用户发送)。

您只能使用纯文本内容预先填充用户的“消息”字段。

您可以按照@user357320 的建议获取 HTML 正文,但这只会让您获得 HTML 标记的纯文本表示,例如

<html>
 <body>
....

而不是真正的 HTML 电子邮件。

于 2013-06-13T09:26:42.393 回答