[PHP] 使用PHPMailer線上發信通過驗證的SMTP

在 PHP 中可以使用 mail() 函式進行信件的發送,但是前提是您必須使用一個不用驗證即可寄信的 SMTP。如果您必須使用一個需要帳號、密碼來通過驗證的 SMTP,就不能使用 mail() 函式了。如果您不想再額外的安裝 PEAR 函式庫,建議您可以採用 opensource 的類別:phpMailer。

檔案下載

PHPMailer 使用檔案

建議您依據您使用的 PHP 版本來下載適合的類別。下載完畢後請解壓縮到指定資料夾中,其中重要的類別檔案為:

  • PHPMailerAutoload.php
  • class.phpmailer.php
  • class.pop3.php
  • class.smtp.php

請將這個檔案放置與寄發信件程式同一層。

PHPMailer範例

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

<?php
include("PHPMailerAutoload.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!";   
}
?>

在〈[PHP] 使用PHPMailer線上發信通過驗證的SMTP〉中有 1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *