簡體   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