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 簡易E-Mail

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

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

<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$to = "905143094@qq.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>php中文网(php.cn)</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=''>
    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' value='发送'>
    </form>";
 }
 ?>
 
 </body>
 </html>

實例解釋:

·   首先,檢查是否填寫了郵件輸入框

·   如果未填寫(例如當頁面被首次存取時),輸出HTML 表單

·   如果已填寫(在表單被填寫後),從表單發送電子郵件

·   當填寫表單點擊提交按鈕後,頁面重新載入,可以看到郵件輸入被重置,同時顯示郵件發送成功的訊息

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



#
繼續學習
||
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</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=''> 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' value='发送'> </form>"; } ?> </body> </html>