在 PHP 中可以使用 mail() 函式進行信件的發送,但是前提是您必須使用一個不用驗證即可寄信的 SMTP。如果您必須使用一個需要帳號、密碼來通過驗證的 SMTP,就不能使用 mail() 函式了。如果您不想再額外的安裝 PEAR 函式庫,建議您可以採用 opensource 的類別:phpMailer。
檔案下載
- phpMailer 官方網站
http://phpmailer.codeworxtech.com/ - phpMailer GitHub
https://github.com/Synchro/PHPMailer - 下載 phpMailer
https://github.com/Synchro/PHPMailer/archive/master.zip
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!"; } ?>
感謝你!寄信成功了!