尝试使用嵌入式联系表格将用户反馈发送到电子邮件;不使用mailto:
我有一个由 nginx 提供的包含 html/browser-javascript 的大部分静态网页。
该策略与此非常相似:
http://www.phpeasystep.com/phptu/8.html
我的静态页面有一个表单部分:
<form action="sendmail.js" method="post" id="contactForm">
<div class="sep">
<label for="name" class="txt">Name:</label>
<input type="text" name="name" value="" id="name">
</div>
<div class="sep">
<label for="email" class="txt">Email:</label>
<input type="text" name="email" value="" id="email">
</div>
<div class="sep">
<label for="tele" class="txt">Telephone:</label>
<input type="text" name="tele" value="" id="tele">
</div>
<div class="sep special">
<label for="last" class="txt">Don't fill this in:</label>
<input type="text" name="last" value="" id="last">
</div>
<div class="sep">
<label for="message" class="txt">Message:</label>
<textarea rows="5" name="message" id="message"></textarea>
</div>
<div class="buttonAlign submitbutton">
<button type="submit" class="button mediumButton" id="submit">Send Message</button>
</div>
</form>
我希望将表单元素传递给服务器端 node.js 脚本 sendmail.js,并让该脚本与表单元素组成一封电子邮件,然后发送。
我对 node.js 和 nginx 很陌生,我不确定我错过了什么;但是,它不起作用,脚本根本没有运行。
我没有向 nginx default.conf 文件添加任何特别内容。node.js 脚本在我的基本目录中,如果我重命名它,我会收到一个找不到文件的错误。所以,我知道 nginx 正在寻找它。脚本文件的第一行有 node.js she-bang 和它的 chmod'ed 可执行文件。
感谢任何帮助。
我在 access.log 中收到以下消息
==> access.log <==
"POST /sendmail.js HTTP/1.1" 405 574 "https://xyzzy.net/index.html" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)" "-"
我不希望网页中出现回复。我只想执行 sendmail.js 脚本并发送包含表单数据的电子邮件。这是一个“虚拟”脚本,它试图在 /tmp 中创建/写入一个“面包屑”文件
#!/usr/local/bin/node
var fs = require('fs');
fs.writeFile("/tmp/test", "Hey there!", function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});