2012-08-16 29 views
0
<?php 
    session_start(); 

    $returnURL = $_POST["pageURL"].'#confirmation'; 

    if (empty($_POST["phone"]) || empty($_POST["email"]) || empty($_POST["name"]) || empty($_POST["address"])) { 

    $_SESSION["confirmation"] = "empty"; 
    header('Location: '.$returnURL); 
    exit; 

    } else { 

    $to = '[email protected]'; 
    $headers = 'From: ' . $_POST["name"] . '<' . $_POST["email"] . '>'; 
    $subject = 'Email from your landing page';   
    $message = (
    "You have received a inquiry from your landing page! \n\n Name: " . $_POST["name"] . " 
    \n Email: " . $_POST["email"] . " 
    \n Phone Number: " . $_POST["phone"] . " 
    \n Mailing Address: " . $_POST["address"] . " 
    \n Message: " . $_POST["message"] 
    ); 

    mail($to, $subject, $message, $headers); 

    $_SESSION["confirmation"] = 'yes'; 
    header('Location: '.$returnURL); 
    exit; 
    } 
?> 
+3

您是否收到一個錯誤?或者只是沒有收到電子郵件? – Matt 2012-08-16 19:37:51

+0

您是否安裝了'sendmail'或類似的軟件包? – wanovak 2012-08-16 19:38:21

+6

我甚至沒有收到這個問題。 – 2012-08-16 19:39:26

回答

0

請參閱mail函數的文檔,它會返回一個值。檢查並報告。同時在調試時禁用重定向:

$result = mail($to, $subject, $message, $headers); 
var_dump($result); 
exit; 
+0

嘗試了這一點,它返回布爾(假) – user1604214 2012-08-16 19:52:08

+0

文檔說:*「如果郵件成功接受傳遞返回TRUE,否則返回FALSE。」* Ergo:您的郵件不接受交付。請聯繫您的主機支持,並詢問是否可以通過PHP發送電子郵件,或者您是否需要先進行一些設置。此外,您可能希望轉儲,主題,消息和標題,並將該信息傳遞給您的技術支持。 – hakre 2012-08-16 19:54:19

+0

這實際上可能是問題。我會檢查一下。 – user1604214 2012-08-16 19:58:53

0

標題可能非常挑剔。嘗試在發件人末尾添加新行。

$headers = 'From: ' . $_POST["name"] . '<' . $_POST["email"] . ">\r\n";