PHP 利用phpmailer 寄信...
Temperature: 0 °C
一般來說其實PHP本身已經提供了Mail()函數可以使用,但由於一些令人不愉快的原因...我租用的VPS空間...mail的功能是被關閉的......@@...
因此為了能夠達到網站寄信的功能...所以我使用了phpmailer..
首先..先說明我使用的SMTP server 是用pchome的帳號...
選擇pchome的原因是因為..pchome的SMTP port 是25...雖然網路上教學大都以Gmail為主軸...但Gmail需使用ssl 連線..而且SMTP port 也不是25 而是465
再者若虛擬空間要使用ssl 還不能直接取用...@@..種種原因..我選擇了pchome
範例說明...
include("class.phpmailer.php"); //匯入PHPMailer類別
$mail= new PHPMailer(); //建立新物件
$mail->IsSMTP(); //設定使用SMTP方式寄信
$mail->SMTPAuth = true; //設定SMTP需要驗證
$mail->Host = "smtp.pchome.com.tw"; //這裡填入SMTP主機位置
$mail->Port = 25; //設定SMTP埠位,預設為25埠。
$mail->CharSet = "utf-8"; //設定郵件編碼
$mail->Username = "*********"; //設定驗證帳號,就是「PChome的會員帳號」。
$mail->Password = "*********"; //設定驗證密碼,就是「PChome的會員密碼」。
$mail->From = ***@***.***.***; //設定寄件者信箱
$mail->FromName = "測試"; //設定寄件者姓名
$mail->Subject = "PChome測試信件"; //設定郵件標題
$mail->Body = "這是一封測試信件!"; //設定郵件內容
$mail->IsHTML(true); //設定郵件內容為HTML
$mail->AddAddress(***@***, "demo"); //設定收件者郵件及名稱
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
原本想說這樣就能解決寄信的問題.....
不過我還遇到了一個問題...就是我無法一直寄信...@@...
意思是說我寄了幾封測試信後...原本正常的寄信功能..確又會無法訪問SMTP server....
空間商說是 phpmailer 環境設定的問題....
嗯..研究中.....