PHP 郵件

PHP 允許您從指令碼直接傳送電子郵件。


PHP mail() 函式

PHP mail() 函式用於從指令碼中傳送電子郵件。

語法

mail(to,subject,message,headers,parameters)

引數 描述
to 必需。規定 email 接收者。
subject 必需。規定 email 的主題。註釋:該引數不能包含任何新行字元。
message 必需。定義要傳送的訊息。應使用 LF (\n) 來分隔各行。每行應該限制在 70 個字元內。
headers 可選。規定附加的標題,比如 From、Cc 和 Bcc。應當使用 CRLF (\r\n) 分隔附加的標題。
parameters 可選。對郵件傳送程式規定額外的引數。

註釋:PHP 執行郵件函式需要一個已安裝且正在執行的郵件系統(如:sendmail、postfix、qmail等)。所用的程式通過在 php.ini 檔案中的配置設定進行定義。請在我們的 PHP Mail 參考手冊 閱讀更多內容。


PHP 簡易 E-Mail

通過 PHP 傳送電子郵件的最簡單的方式是傳送一封文字 email。

在下面的例項中,我們首先宣告變數($to, $subject, $message, $from, $headers),然後我們在 mail() 函式中使用這些變數來發送了一封 E-mail:

<?php
$to = "[email protected]";         // 郵件接收者
$subject = "引數郵件";                // 郵件標題
$message = "Hello! 這是郵件的內容。";  // 郵件正文
$from = "[email protected]";   // 郵件傳送者
$headers = "From:" . $from;         // 頭部資訊設定
mail($to,$subject,$message,$headers);
echo "郵件已傳送";
?>


PHP Mail 表單

通過 PHP,您能夠在自己的站點製作一個反饋表單。下面的例項向指定的 e-mail 地址傳送了一條文字訊息:

<html>
<head>
<meta charset="utf-8">
<title>入門教學(itread01.com)</title>
</head>
<body>

<?php
if (isset($_REQUEST['email'])) { // 如果接收到郵箱引數則傳送郵件
    // 傳送郵件
    $email = $_REQUEST['email'] ;
    $subject = $_REQUEST['subject'] ;
    $message = $_REQUEST['message'] ;
    mail("[email protected]", $subject,
    $message, "From:" . $email);
    echo "郵件傳送成功";
} else { // 如果沒有郵箱引數則顯示錶單
    echo "<form method='post' action='mailform.php'>
    Email: <input name='email' type='text'><br>
    Subject: <input name='subject' type='text'><br>
    Message:<br>
    <textarea name='message' rows='15' cols='40'>
    </textarea><br>
    <input type='submit'>
    </form>";
}
?>

</body>
</html>

例項解釋:
  • 首先,檢查是否填寫了郵件輸入框
  • 如果未填寫(比如在頁面被首次訪問時),輸出 HTML 表單
  • 如果已填寫(在表單被填寫後),從表單傳送電子郵件
  • 當填寫完表單點選提交按鈕後,頁面重新載入,可以看到郵件輸入被重置,同時顯示郵件傳送成功的訊息

註釋:這個簡易傳送 e-mail 不安全,在本教程的下一章中,您將閱讀到更多關於電子郵件指令碼中的安全隱患,我們將為您講解如何驗證使用者輸入使它更安全。


PHP Mail 參考手冊

如需檢視更多關於 PHP mail() 函式的資訊,請訪問我們的 PHP Mail 參考手冊。