繁体   English   中英

php mail()返回false

[英]php mail() returning false

当有人提交联系表格时,我想从服务器发送电子邮件。 这是示例php代码。

<?php
if($_SERVER['REQUEST_METHOD'] == "POST"){

$name = strip_tags(trim($_POST['name']));
$email = strip_tags(trim($_POST['email']));
$dept = strip_tags(trim($_POST['dept']));
$message = strip_tags(trim($_POST['message']));

if((!isset($email) || empty($email)) || (!isset($name) || empty($name)) || (!isset($dept) || empty($dept)) || (!isset($message) || empty($message))){
    echo -1;
    return;
}
if(filter_var($email, FILTER_VALIDATE_EMAIL)===false){
    echo -2;
    return;
}

$to = 'farooqahmadkhan003@gmail.com'; 
$email_subject = "Splendenti Eye Wear | Contact Us";
$email_body = "Contacted by\nName: $name\nEmail: $email\nDepartment: $dept\nMessage: $message";
$headers = "noreply@farooq.com\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
$headers .= "Reply-To: ".$_POST['email'];
if(mail($to,$email_subject,$email_body,$headers)){
    echo 1; // email sent
}
else{
    echo "failed to send email";
}
}else{
echo "Invalid Request";
}
?>

但邮件功能返回false。 有人可以指导吗?

我建议您使用PHPMailer从PHP文件发送电子邮件。 检查此链接并下载。 在线上有许多有关PHPMailer的文档。 您可以使用PHPMailer控制有关邮件的所有详细信息。

尝试使用@禁止显示警告:

if(@mail($to,$email_subject,$email_body,$headers)){
    echo 1; // email sent
}

如果这样做没有帮助,那么您会遇到配置问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM