PHP 允許您從腳本直接發(fā)送電子郵件。


PHP mail() 函數(shù)

PHP mail() 函數(shù)用于從腳本中發(fā)送電子郵件。

語法

mail(to,subject,message,headers,parameters)
參數(shù)描述
to必需。規(guī)定 email 接收者。
subject必需。規(guī)定 email 的主題。注釋:該參數(shù)不能包含任何新行字符。
message必需。定義要發(fā)送的消息。應(yīng)使用 LF (\n) 來分隔各行。每行應(yīng)該限制在 70 個字符內(nèi)。
headers可選。規(guī)定附加的標(biāo)題,比如 From、Cc 和 Bcc。應(yīng)當(dāng)使用 CRLF (\r\n) 分隔附加的標(biāo)題。
parameters可選。對郵件發(fā)送程序規(guī)定額外的參數(shù)。

注釋:PHP 運行郵件函數(shù)需要一個已安裝且正在運行的郵件系統(tǒng)(如:sendmail、postfix、qmail等)。所用的程序通過在 php.ini 文件中的配置設(shè)置進行定義。請在我們的 PHP Mail 參考手冊 閱讀更多內(nèi)容。


PHP 簡易 E-Mail

通過 PHP 發(fā)送電子郵件的最簡單的方式是發(fā)送一封文本 email。

在下面的實例中,我們首先聲明變量($to, $subject, $message, $from, $headers),然后我們在 mail() 函數(shù)中使用這些變量來發(fā)送了一封 E-mail:

<?php
$to = "someone@example.com";         // 郵件接收者
$subject = "參數(shù)郵件";                // 郵件標(biāo)題
$message = "Hello! 這是郵件的內(nèi)容。";  // 郵件正文
$from = "someonelse@example.com";   // 郵件發(fā)送者
$headers = "From:" . $from;         // 頭部信息設(shè)置
mail($to,$subject,$message,$headers);
echo "郵件已發(fā)送";
?>

PHP Mail 表單

通過 PHP,您能夠在自己的站點制作一個反饋表單。下面的實例向指定的 e-mail 地址發(fā)送了一條文本消息:

<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<?php
if (isset($_REQUEST['email'])) { // 如果接收到郵箱參數(shù)則發(fā)送郵件
// 發(fā)送郵件
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
mail("someone@example.com", $subject,
$message, "From:" . $email);
echo "郵件發(fā)送成功";
} else { // 如果沒有郵箱參數(shù)則顯示表單
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 表單

  • 如果已填寫(在表單被填寫后),從表單發(fā)送電子郵件

  • 當(dāng)填寫完表單點擊提交按鈕后,頁面重新載入,可以看到郵件輸入被重置,同時顯示郵件發(fā)送成功的消息

注釋:這個簡易發(fā)送 e-mail 不安全,在本教程的下一章中,您將閱讀到更多關(guān)于電子郵件腳本中的安全隱患,我們將為您講解如何驗證用戶輸入使它更安全。


PHP Mail 參考手冊

如需查看更多關(guān)于 PHP mail() 函數(shù)的信息,請訪問我們的 PHP Mail 參考手冊。