php雖然提供了mail()函數,但並不好用,而PHPMailer是一個不錯的郵件發送工具,使用起來也是非常簡單!
使用PHPMailer發送郵件:
復制代碼 代碼如下:
<?php
header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime",0);
require 'class.phpmailer.php';
try {
$mail = new PHPMailer(true);
$mail->IsSMTP();
$mail->CharSet='UTF-8'; //設置郵件的字符編碼,這很重要,不然中文亂碼
$mail->SMTPAuth = true; //開啟認證
$mail->Port = 25;
$mail->Host = "smtp.163.com";
$mail->Username = "[email protected]";
$mail->Password = "這是密碼";
//$mail->IsSendmail(); //如果沒有sendmail組件就注釋掉,否則出現“Could not execute: /var/qmail/bin/sendmail ”的錯誤提示
$mail->AddReplyTo("[email protected]","mckee");//回復地址
$mail->From = "[email protected]";
$mail->FromName = "www.phpddt.com";
$to = "[email protected]";
$mail->AddAddress($to);
$mail->Subject = "phpmailer測試標題";
$mail->Body = "<h1>phpmail演示</h1>這是php點點通(<font color=red>www.phpddt.com</font>)對phpmailer的測試內容";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //當郵件不支持html時備用顯示,可以省略
$mail->WordWrap = 80; // 設置每行字符串的長度
//$mail->AddAttachment("f:/test.png"); //可以添加附件
$mail->IsHTML(true);
$mail->Send();
echo '郵件已發送';
} catch (phpmailerException $e) {
echo "郵件發送失敗:".$e->errorMessage();
}
?>
打開我的qq郵件可以看到:
測試非常順利:
從上圖可以看出,PHPMailer是支持html格式發送,而且支持發送圖片,附件!經過測試,對各種SMTP服務器兼容很好!
添加附件如果報錯:
那是因為(set_magic_quotes_runtime())已經關閉。並且在PHP6中已經完全移除此特性。
你可以注釋或者刪除掉出錯的行,或者是在set_magic_quotes_runtime()前面加@符號
或者是配置;error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
PHPMailer及測試文件下載:phpmailer.rar