如何使用AJAX或JSON将数据发送到PHP电子邮件脚本

Tan*_*lis 2 html php ajax jquery json

我完全迷失在这里.我希望在不离开我的页面的情况下发送带有PHP的电子邮件.但我无法弄清楚如何将数据发送到PHP文件以通过电子邮件发送.当我确实得到它时,我会迷失方向.因此,对PHP文件应该是什么样子的任何帮助都会很棒.这是表格.

<table id="dialog">
        <tr><td><input type="text" id="name" name="name" placeholder="Your Name" size="20" class="tbow" /></td></tr>
        <tr><td><input type="text" id="email" name="email" placeholder="Your Email" size="20" class="tbow" /></td></tr>
        <tr><td><input type="text" id="number" name="number" placeholder="Your Phone Number" size="20" class="tbow" /></td></tr>
        <tr><td><textarea id="message" name="message" rows="5" cols="25" class="tbow" placeholder="Your Message"></textarea></td></tr>
        <tr><td><input type="button" value="Send!" onclick="senem();" id="sender" /></td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我试过这个......

function senem(){
        var name = document.getElementById("name").value;
        var email = document.getElementById("email").value;
        var number = document.getElementById("number").value;
        var message = document.getElementById("message").value;
        $.ajax({
            type: "POST",
            url: "mmaa.php",
            data: "name=" + name + "&email=" + email + "&number=" + number = "&message=" + message,
            success: alert("It works!!!");
        });
 }
Run Code Online (Sandbox Code Playgroud)

lyn*_*nks 5

不打算作为复制粘贴工作,但应该给你自己编写的构建块:

你的javascript函数;

function senem() {
    jQuery.ajax({
        type: "POST",
        url: "http://location/of/script.php",
        data: { var1: "foo", var2: "bar" },
    });
}
Run Code Online (Sandbox Code Playgroud)

并在PHP;

<?php
    $var1 = $_POST['var1'];
    $var2 = $_POST['var2']; //do something interesting with these

    $to = "john@example.com";
    $subject = "Wooo Email!";
    $message = "Sorry John, you're fired.";

    mail($to, $subject, $message, "From: system@yourdomain.com\r\n");
?>
Run Code Online (Sandbox Code Playgroud)

var1和var2的值你可能想要使用jQuery(例如$("#name").val();)来分配客户端,你还需要在Apache旁边安装和配置一个SMTP服务器(使用Exim,和找个友好的极客来帮助你).

PS:\ r \n是因为SMTP与HTTP共享一些语法,这并不重要,但如果没有它们,mail命令可能无法运行.