0

尝试使用嵌入式联系表格将用户反馈发送到电子邮件;不使用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!");
        }
    });
4

0 回答 0