gpt4 book ai didi

javascript - 我的 process.php 有什么问题导致我的表单无法发送?

转载 作者:行者123 更新时间:2023-12-03 12:15:46 25 4
gpt4 key购买 nike

我构建了一个通过 Ajax 提交的表单,然后使用 PHP 中的 mail() 函数进行处理。表单验证和表单提交工作完美(我可以控制台记录数据并接收成功消息),但我没有收到来自表单的任何电子邮件。我假设它是 process.php。

这是我第一次这样做,因此任何指针/代码改进也将不胜感激。

Javascript:

var name = $('#name').val();
var email = $('#email').val();
var message = $('#message').val();

var dataString = 'name=' + name + '&email=' + email + '&message=' + message;
$.ajax({
type: "POST",
url: "process.php",
data: dataString,
success: function () {
alert('success');
}
});

PHP:

<?php
$myemail = "name@example.com";
$subject = "Subject";
$message = "
Name: $name
E-mail: $email
Message: $message
";

mail($myemail, $subject, $message);
?>

最佳答案

我认为问题确实出在 php mail() 方法中。只需通过注释掉 mail() 调用来确保它是正确的,并将其替换为

echo 'I should be sending mail now!';
exit;

然后将您的 ajax 调用更改为:

$.ajax({
type: "POST",
url: "process.php",
data: dataString,
success: function (response) {
alert(response);
}
});

现在将表单发送到服务器,并查看警报框中出现的内容。如果你得到了预期的字符串,你确实应该设置一个 smtp 服务器,以便你可以发送邮件。另一种选择是使用外部邮件服务器,但它要求您在其他地方拥有适当的电子邮件帐户。

那里有很多脚本,例如,查看 phpmailer。

关于javascript - 我的 process.php 有什么问题导致我的表单无法发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24712360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com