Canvas 2D 网页应用/电子邮件
本节是一个存根。 您可以通过 扩展它 来帮助 Wikibooks。 |
从网页应用发送电子邮件有很多理由,例如,接收用户反馈或网页应用的使用数据。不幸的是,JavaScript 不直接支持发送电子邮件。
一种解决方案是使用 PHP 脚本(在支持 PHP 的 Web 服务器上),并让该 PHP 脚本发送电子邮件,因为 PHP 支持发送电子邮件。在这种情况下,网页应用所要做的就是将数据发送到 PHP 脚本。
这是一个简单的 PHP 脚本示例,它将电子邮件发送到硬编码的电子邮件地址,并带有硬编码的主题行。该脚本将已“发布”到它的原始数据(以纯文本格式)放入电子邮件正文
<?php
if (isset($HTTP_RAW_POST_DATA)) {
mail("[email protected]",
"my subject",
filter_var($HTTP_RAW_POST_DATA, FILTER_SANITIZE_STRING),
"From: [email protected]\n");
}
?>
当然,您应该用您的电子邮件地址替换电子邮件地址,以接收电子邮件。请注意,此电子邮件地址将是公开可见的;因此,您应该使用您愿意在发生滥用时放弃的电子邮件地址。
PHP 脚本的名称应具有扩展名“.php”,以便 Web 服务器可以将其识别为 PHP 脚本。如果您无法访问支持 PHP 的 Web 服务器,您可能认识愿意托管您的脚本的人(冒着它会显着增加网络流量的风险)。
该脚本本身检查是否有任何原始数据(以纯文本格式)被发布到它(有关如何在 JavaScript 中执行此操作,请参见下文)。如果是,它会发送包含已消毒的原始数据的电子邮件。消毒是必要的,以防止他人滥用该脚本。原始数据的最大大小取决于 Web 服务器的配置;通常它超过兆字节。
在网页应用的 JavaScript 代码中,您可以通过 PHP 脚本发送一些数据(这里是字符串 "my\r\ndata\r\n"
)(这里假设它位于 "http://example.com/url/of/php/script/emailme.php"
)
var httpRequest = new XMLHttpRequest();
httpRequest.open("post", "http://example.com/url/of/php/script/emailme.php", true);
httpRequest.setRequestHeader("Content-Type", "text/plain");
httpRequest.send("my\r\ndata\r\n");
当然,您应该将 PHP 脚本的 URL 替换为脚本所在的位置,您应该将发送的数据替换为您要发送的任何字符串。(请注意推荐使用回车符和换行符的换行符:"\r\n"
。)
有关在 JavaScript 中使用 XMLHttpRequest
的不同方法的更多信息,请参阅 Mozilla 开发者网络中的 使用 XMLHttpRequest。