如何使用按钮发送当前页面的电子邮件?

时间:2015-06-15 19:53:38

标签: javascript php html email xampp

我正在尝试发送我的html页面的电子邮件。这是我到目前为止的代码:

<script language="javascript">
    function emailCurrentPage() {
        window.location.href = "mailto:?subject=" + document.title + "&body=" + encodeURI(document.location);
    }
</script>

<button onclick="emailCurrentPage()">Email page</button>

发送当前页面的链接,但我希望电子邮件中显示整个html页面。有没有完成这个?

更新和编辑:所以我决定尝试通过使用PHP来解决这个问题,因为我看起来似乎无法用javascript实现。我对php知之甚少。到目前为止,这是我的代码:

<?php

    $to  = 'john@example.com';
    $subject = 'A test email!';

    // To send HTML mail, the Content-type header must be set
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    // Put your HTML here
    $message = file_get_contents('example.html');

    // Mail it
    mail($to, $subject, $message, $headers);

    echo "Message Sent!"

}
?>

<form action="php/emailPage.php" method="post">
    <input type="submit" name="submit" value="Email Page">
</form>

当我点击按钮时,我得到的是&#34;消息已发送!&#34;消息但没有电子邮件。我更改了&#34; john@example.com"到我的电子邮件但我的收件箱中没有收到电子邮件。关于问题是什么的任何想法?

3 个答案:

答案 0 :(得分:1)

如果你想坚持纯粹的javascript,如果不打开用户电子邮件客户端就很难做到这一点。这将是一种可怕的方式,因为我建议不要使用javascript:

window.open('mailto:test@example.com?subject=subject&body=body');

此第三方解决方案更好,您可能需要查看它:https://medium.com/@mariusc23/send-an-email-using-only-javascript-b53319616782

答案 1 :(得分:0)

您可以打开如上所示的电子邮件客户端,甚至是预定的主题和正文。如果您添加textarea,您可以让用户在您的页面中编写电子邮件:

<textarea id="myText">
    User writes stuff here
</textarea>
<button onclick="sendMail(); return false">Send</button>

SendMail调用你的JS脚本,你只需要替换window.open中的第二个单词body来获取textarea文本。这可能会返回HTML标记中的HTML代码,您可以将其插入到正文中,而不是textarea文本。 (或outerHTML)

document.documentElement.innerHTML


window.open('mailto:test@example.com?subject=subject&body='+escape(document.getElementById('myText').value));

我也发现了这个,但我不知道这是否适合你。 http://www.emailjs.com/

答案 2 :(得分:0)

我想出了使用php并安装XAMPP。我在XAMPP中使用了apache,mysql和mercury。我按照汞here的步骤进行了操作。我还必须更改php.ini文件和sendmail.ini文件中的一些内容。可以找到这些步骤here。希望这有助于缩短其他人完成此任务的时间,因为它花了我很长一段时间。 php代码与我原来的帖子相同。此外,您必须将您的代码放在以下目录C:\ xampp \ htdocs中。我在htdocs中创建了一个名为HTMLTemplates的文件夹。为了在我的浏览器中运行它,我键入localhost / HTMLTemplates / myfile.html