0

埋め込まれた連絡フォームを使用して、ユーザー フィードバックを電子メールで送信しようとしています。mailto を使用しない場合:

html/browser-javascriptを含むnginxによって提供されるほとんど静的なWebページがあります。

戦略はこれに非常に似ています。

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 が含まれています。

どんな助けにも感謝します。

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)" "-"

Web ページに応答が表示されることを期待していません。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