3/04/2012

星期日, 3月 04, 2012
在 PHP 中可以使用 mail() 函式進行信件的發送,但是前提是您必須使用一個不用驗證即可寄信的 SMTP。
如果您必須使用一個需要帳號、密碼來通過驗證的 SMTP,就不能使用 mail() 函式了。
如果您不想再額外的安裝 PEAR 函式庫,建議您可以採用 opensource 的類別:phpMailer。
phpMailer 官方網站
http://phpmailer.codeworxtech.com/

您可以在此下載 phpMailer 的類別:
http://phpmailer.codeworxtech.com/index.php?pg=sf&p=dl

建議您依據您使用的 PHP 版本來下載適合的類別。
下載完畢後請解壓縮到指定資料夾中,
其中重要的類別檔案為:,
請將這個檔案放置與寄發信件程式同一層。

以下茶米簡單寫的一個範例:

<?php
include("class.phpmailer.php"); //匯入PHPMailer類別  
 
$mail= new PHPMailer(); //建立新物件   
$mail->IsSMTP(); //設定使用SMTP方式寄信   
$mail->SMTPAuth = true; //設定SMTP需要驗證   
$mail->Host = "XXX.XXX.XXX.XXX"; //設定SMTP主機   
$mail->Port = 25; //設定SMTP埠位,預設為25埠。   
$mail->CharSet = "big5"; //設定郵件編碼   
 
$mail->Username = "*********"; //設定驗證帳號   
$mail->Password = "*********"; //設定驗證密碼   
 
$mail->From = XXX@XXX.XXX.XXX; //設定寄件者信箱   
$mail->FromName = "測試人員"; //設定寄件者姓名   
 
$mail->Subject = "PHPMailer 測試信件"; //設定郵件標題   
$mail->Body = "大家好,  
這是一封測試信件!  
"; //設定郵件內容   
$mail->IsHTML(true); //設定郵件內容為HTML   
$mail->AddAddress("david@e-happy.com.tw", "茶米"); //設定收件者郵件及名稱   
 
if(!$mail->Send()) {   
echo "Mailer Error: " . $mail->ErrorInfo;   
} else {   
echo "Message sent!";   
}
?>

0 意見 :

張貼留言