PHP 傳送電子郵件
在本教程中,你將學習如何使用 PHP mail()
函式直接從指令碼傳送簡單文字或 HTML 電子郵件。
PHP mail()
函式
傳送電子郵件對於 Web 應用程式非常常見,例如,當使用者在你的網站上建立帳戶時傳送歡迎電子郵件,向你的註冊使用者傳送簡報,或通過網站的聯絡表單獲取使用者反饋或評論等等。
你可以使用 PHP 內建 mail()
函式以純文字格式或格式化 HTML 從 PHP 應用程式動態建立和傳送電子郵件給一個或多個收件人。該函式的基本語法如下:
mail(to, subject, message, headers, parameters)
下表總結了此函式的引數。
引數 | 描述 |
---|---|
必需 | |
to |
收件人的電子郵件地址。 |
subject |
要傳送的電子郵件的主題。此引數即主題行不能包含任何換行符(\ n \n )。 |
message |
定義要傳送的訊息。每行應使用換行符-LF(\n )分隔。行不應超過 70 個字元。 |
可選 | |
headers |
這通常用於新增額外的標題,例如 From ,Cc , Bcc 。附加標題應使用回車符和換行符-CRLF(\r\n )分隔。 |
parameters |
用於傳遞其他引數。 |
傳送純文字電子郵件
使用 PHP 傳送電子郵件的最簡單方法是傳送文字電子郵件。在下面的示例中,我們首先宣告變數 - 收件人的電子郵件地址,主題行和郵件正文 - 然後我們將這些變數傳遞給 mail()
函式以傳送電子郵件。
<?php
$to = 'maryjane@email.com';
$subject = 'Marriage Proposal';
$message = 'Hi Jane, will you marry me?';
$from = 'peterparker@email.com';
// Sending email
if(mail($to, $subject, $message)){
echo 'Your mail has been sent successfully.';
} else{
echo 'Unable to send email. Please try again.';
}
?>
傳送 HTML 格式的電子郵件
使用 PHP 傳送文字訊息時,所有內容都將被視為簡單文字。我們將改進該輸出,並將電子郵件轉換為 HTML 格式的電子郵件。
要傳送 HTML 電子郵件,過程將是相同的。但是,這次我們需要提供額外的標頭以及 HTML 格式的訊息。
<?php
$to = 'maryjane@email.com';
$subject = 'Marriage Proposal';
$from = 'peterparker@email.com';
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Create email headers
$headers .= 'From: '.$from."\r\n".
'Reply-To: '.$from."\r\n" .
'X-Mailer: PHP/' . phpversion();
// Compose a simple HTML email message
$message = '<html><body>';
$message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
$message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
$message .= '</body></html>';
// Sending email
if(mail($to, $subject, $message, $headers)){
echo 'Your mail has been sent successfully.';
} else{
echo 'Unable to send email. Please try again.';
}
?>
注意: 但是,PHP mail()
函式是 PHP 核心的一部分,但你需要在計算機上設定郵件伺服器才能使其真正起作用。
在接下來的兩章(PHP 表單處理 和 PHP 表單驗證)中,你將學習如何在你的網站上實現互動式聯絡表單,以使用此 PHP 傳送郵件功能通過電子郵件接收使用者的評論和反饋。