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 = "someone@example.com"; // 郵件接收者 $subject = "參數郵件"; // 郵件標題 $message = "Hello! 這是郵件的內容。"; // 郵件正文 $from = "someonelse@example.com"; // 郵件發送者 $headers = "From:" . $from; // 頭部資訊設置 mail($to,$subject,$message,$headers); echo "郵件已發送"; ?>
PHP Mail 表單
通過 PHP,您能夠在自己的站點製作一個回饋表單。下麵的實例向指定的 e-mail 地址發送了一條文本消息:
<html> <head> <meta charset="utf-8"> <title>IT研修(xuhuhu.com)</title> </head> <body> <?php if (isset($_REQUEST['email'])) { // 如果接收到郵箱參數則發送郵件 // 發送郵件 $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail("someone@example.com", $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 參考手冊。