2017-02-06 14 views
0

填寫表格時,表示發送成功。所以我需要啓用或包含phpmailer?表單通過submit.php發送,但聯繫表單是一個html頁面。我是否也需要製作聯繫人頁面php。 submit.php的Chmod權限爲755.在腳本中,我確實擁有電子郵件地址。我已安裝phpmailer,我需要激活它嗎?這個聯繫表格是否完整的功能?

<?php 
// specify your email here 

$to = '[email protected]'; 

// Assigning data from $_POST array to variables 
if (isset($_POST['name'])) { $name = $_POST['name']; } 
if (isset($_POST['email'])) { $from = $_POST['email']; } 
if (isset($_POST['company'])) { $company = $_POST['company']; } 
if (isset($_POST['message'])) { $message = $_POST['message']; } 

// Construct subject of the email 
$subject = 'Contact Inquery ' . $name; 

// Construct email body 
$body_message .= 'NAME: ' . $name . "\r\n\n"; 
$body_message .= 'EMAIL: ' . $from . "\r\n\n"; 
$body_message .= 'SUBJECT: ' . $company . "\r\n\n"; 
$body_message .= 'MESSAGE: ' . $message . "\r\n\n"; 

// Construct headers of the message 
$headers = 'From: ' . $from . "\r\n"; 
$headers .= 'Reply-To: ' . $from . "\r\n"; 

$mail_sent = mail($to, $subject, $body_message, $headers); 

if ($mail_sent == true) { ?> 
    <script language="javascript" type="text/javascript"> 
     window.alert("Sent Successfuly."); 
    </script> 
<?php } else { ?> 
    <script language="javascript" type="text/javascript"> 
     window.alert("Error! Please Try Again Later."); 
    </script> 
<?php 
} // End else 
?> 
+2

您目前沒有使用PHPMailer;你直接(不正確地)調用PHP的mail()函數。您至少需要*嘗試*閱讀一些文檔。 [這可能是一個更好的出發點](https://github.com/PHPMailer/PHPMailer/blob/master/examples/contactform.phps)。 – Synchro

回答

1
  1. 目前,您的形式並不需要通過PHP來呈現。所以,它可以保存在一個HTML文件中。
  2. 當你說:

    正在通過submit.php

    發送的形式,我想你想說:

    的形式被髮送submit.php

    如果是這樣,那麼我認爲你發佈的源代碼是 這個文件的內容。

  3. 關於電子郵件發送,您使用內置的PHP mail() 函數。但是這個功能use the sendmail binary需要在服務器上安裝 。而且,您必須在php.ini文件中setup the appropriate settings才能讓您的主機正確地發送電子郵件 。
  4. PHPMailer是一個很好的替代品,因爲它不需要任何外部 依賴關係。這simple example會告訴你如何使用 它。

N.B:我看到你的PHP代碼很簡單,我推斷你是一個初學者,你把這個源代碼的地方和你並不真正瞭解它。那就對了。你必須從某個地方開始。

但是:

小心使用此代碼!它需要用戶輸入併發送它 沒有任何健康檢查。我建議你不要在生產環境中部署此代碼(如果是用於測試和學習,那是正確的)。

看看this answer about PHP user input sanitation。它不談論衛生電子郵件發送。但它可能是瞭解基本工作原理的一個很好的起點。那麼你必須自己搜索。