好的我是php编码的新手,我正在处理一个表格邮件php(一个内容被邮寄到电子邮件地址的表格)代码工作正常。现在我想知道是否有办法通知访问者邮件的成功或失败。 (在表单页面中动态添加一行,提到“成功”或“再次尝试失败”。希望我已经足够清楚了。
这是代码
<?php
$name = $_POST["name"];
$company = $_POST["company"];
$email = $_POST["email"];
$contact =$_POST["contact"];
$require = $_POST["requirement"];
$message = "Name :".$name."\n"."Company :".$company."\n"."Email id".$email."\n"."Contact no :".$contact."\n"."Requirement : ".$require;
$subject ="Subject Matter Here";
$to = "abc@xyz.com";
if(mail($to, $subject,$message)){
echo "We Received Your enquiry, We'll get back to you soon";
}
else{
echo "there were some errors sending enquiry, please try again";
}
?>
答案 0 :(得分:3)
$send = mail($to, $subject, $message);
if(!$send){
echo 'Failed to send!';
}
mail功能:
如果邮件成功接受传递,则返回TRUE,FALSE 否则。
答案 1 :(得分:0)
mail函数返回一个表示成功的布尔值:
$result = mail(...)
if ($result) {
echo 'Success';
} else {
echo 'Failure try again';
}
如果mail()返回false,您肯定知道不会发送电子邮件。如果mail()返回true,则您的邮件服务器已接受该电子邮件,但仍可能无法传递。您的邮件服务器尝试将其发送到另一个邮件服务器,这可能会拒绝该邮件。您将收到退回邮件,但由于这不会立即发生,您无法在表单上显示结果。
如果您想(更)确定电子邮件已发送,您必须自己连接到目标主机。获取域的MX记录,连接到STMP服务器并将其直接发送到目标服务器。
答案 2 :(得分:0)