2016-09-22 58 views
0

將表單發送至我的電子郵件時出現問題。 目前,當我發送表單時,我用$ message2從「[email protected]」得到了消息,但是我沒有從'inputEmail'得到$ message到我的電子郵件「[email protected]」。PHP - 將表單發送至電子郵件

我想補充一點,我不是PHP程序員,這是我的第一個使用這種語言的腳本。

我會是你的幫助

<?php 
    $to = '[email protected]'; // this is your Email address 
    $from = $_POST['inputEmail']; // this is the sender's Email address 
    $first_name = $_POST['inputName']; 
    $inputCompany = $_POST['inputCompany']; 
    $inputPosition = $_POST['inputPosition']; 
    $inputProjects = $_POST['inputProjects']; 
    $inputOfficeProjects = $_POST['inputOfficeProjects']; 
    $inputPresentation = $_POST['inputPresentation']; 
    $inputMessage = $_POST['inputMessage']; 
    $number = $_POST['number']; 
    $subject = "Test"; 
    $subject2 = "Test1"; 
    $message = $first_name . " example " . $inputPosition . " wrote the following:" . "\n\n" . $_POST['message']; 
    $message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message']; 
    $headers = "From:" . $from; 
    $headers2 = "From:" . $to; 
    mail($to,$subject,$message,$headers); 
    mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender 
    // echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly."; 
    header('Location: dziekujemy.html'); 
?> 

回答

0

因爲你的代碼在本地環境中工作,與mailtodisk非常感謝,我懷疑一個「問題」與郵件服務器。您將From:首個電子郵件發送嘗試的標題設置爲填寫表單的人員的電子郵件地址。大多數郵件服務器可能會拒絕,因爲它不是您擁有的有效地址。我不是這方面的專家,所以有人可能會有更好,更詳細的解釋。

從第一封電子郵件中刪除標題或將From:標題設置爲可通過該郵件服務器實際發送的地址。如果這可行,您可以使用一個Reply-to標題,使大多數客戶能夠直接回復設置的電子郵件地址。下面

例子:

... 

$headers = 'From: ' . $to . "\r\n" . 
    'Reply-To: '.$from; 

... 

我可能會建議 - 即使它看起來比較複雜,在第一 - 使用PHPMailer。它使得使用PHP發送電子郵件變得更容易。