【发布时间】:2015-05-11 22:37:30
【问题描述】:
我在我的网站上创建了一个简单的 AJAX、Jquery、PHP 联系表单,其中包含输入:姓名、电子邮件和消息。问题是,当您将实际电子邮件写入电子邮件字段时,消息永远不会到达我的收件箱。仅当电子邮件输入字段包含 1 个不带 @ 符号的单词时才有效。
我的 HTML:
<p class="form">Name</p>
<input type="text" name="userName" id="userName">
<p class="form">Email</p>
<input id="userEmail" type="email" name="userEmail">
<p class="form">Message</p>
<textarea id="msg" name="msg"></textarea><button onClick="sendContact();"></button>
我的 JavaScript:
function sendContact() {
jQuery.ajax({
url: "contact_me.php",
data:'userName='+$("#userName").val()+'&userEmail='+
$("#userEmail").val()+'&msg='+
$("#msg").val(),
type: "POST",
success:function(){
sendSuccess();
},
error:function (){}
});
};
我的 PHP:
<?php
$to = "dusset@gmail.com";
$from = $_POST['userEmail'];
$name = $_POST['userName'];
$subject = $name . "has sent you a message from .design";
$message = $name . " wrote the following:" . "\n\n" . $_POST['msg'];
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);?>
您知道可能是什么问题吗?
【问题讨论】:
-
查看了那篇文章,似乎都没有解决我的问题。
-
可能是因为您试图欺骗发件人地址吗?
-
您是否尝试 echo 或 error_log 用户电子邮件以查看如果包含 @ 会得到什么?您可能需要对其进行编码。