[英]Sending mail using PHP mail()
我一直在尝试使用PHP创建一个简单的联系表单。 因此,我设法通过像这样插入所有变量的值来使表格起作用,并且它可以很好地发送电子邮件:
$to = "andrew@mingbogu.com";
$subject = "Job";
$message = "Test";
$from = "example@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
但是,一旦我用$ _REQUEST [var]替换了这些值,该电子邮件就会发送到我的垃圾电子邮件,而没有发件人地址:
$to = "andrew@mingbogu.com";
$subject = "Job";
$message = $_REQUEST['clientMessage'];
$from = $_REQUEST['clientEmail'];
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From: $from";
mail($to,$subject,$message,$headers);
电子邮件的屏幕截图:
我正在使用jQuery通过ajax表单获取值:
var clientName = $("#name").val();
window.alert(clientName);
var clientEmail = $("#email").val();
window.alert(clientEmail);
var clientMessage = $("#message").val();
window.alert(clientMessage);
var data = "from=" + clientEmail + "&subject=" + clientName + "&message=" + clientMessage;
$.ajax({
type: "POST",
url: "email.php",
data: data,
success: function() {
$("#loading").fadeOut(100).hide();
$("#name").val(' ');
$("#email").val(' ');
$("#message").val(' ');
$("#message-sent").fadeIn(100).show();
}
});
在将它们发送到ajax表单之前,我已经正确打印了clientName
, clientMessage
和clientEmail
,它们都以正确的值打印出来。 知道我在做什么错吗?
HTML形式:
<form id="contactMe" data-abide>
<input type="text" id="name">
<input type="text" id="email">
<textarea id="message"></textarea>
<button type="submit" id="sendEmail" class="button">Submit</button>
您使用了错误的变量来读取客户电子邮件。 在你的JS,你拉入一个变量叫clientEmail
,但后来你给它的名字from
通过AJAX请求时:
var data = "from=" + clientEmail + "&subject=" + clientName + "&message=" + clientMessage;
因此,从PHP内部,您应该以$_REQUEST['from']
而不是$_REQUEST['clientEmail']
身份进行访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.