最近需要用到發送郵件的功能,原本是用PHP內建的mail()函數發送的。php mail()這個方法非常簡單、方便、易用,但是除了網易郵箱、QQ郵箱、GMAIL郵箱等常用的郵箱可以收到之外,經測試HOTMAIL、TOM、LIVE等郵箱是收不到此類郵件的。所以就轉而使用PHPMailer這個強大的郵件發送類。
使用官方內建的一些例子,有些會報 Mailer Error: Could not instantiate mail function. 這個錯誤。參考了一些資料之後,還是自己寫了一個方法。代碼很簡單,就不多解釋了。
function mailto($nickname, $address, $id, $activation_code){date_default_timezone_set('PRC'); include_once("class.phpmailer.php");$mail = new PHPMailer(); // defaults to using php "mail()"$mail->IsSMTP();$mail->Host = "smtp.163.com";// SMTP 伺服器 $mail->SMTPAuth = true; // 開啟SMTP 認證 $mail->Username = "bkjia@163.com"; // 使用者名稱$mail->Password = "yourpassword"; // 密碼 //$body = file_get_contents('application/views/nmra/register.html');//$body = preg_replace('/\\\\/','', $body); //Strip backslashes$body = '';$body .= '';$body .= '';$body .= ''.$nickname.',您好。
';$body .= '恭喜你成為幫客之家研究協會的第'.$id.'名會員。
';$body .= '幫客之家社區(bangke Research Association)是一個程式猿、攻城獅、設計獅和開發人員們技術交流、話題討論的社區。希望在這裡你能找到感興趣的話題與志同道合的朋友。
';$body .= '請點擊以下連結驗證您的郵箱,請注意網域名稱為bkjia.com:http://www.bkjia.com/librarys/accounts/activation/?code='.$activation_code.'';$body .= '順祝工作學習愉快,生活舒心。
';$body .= '';//echo $body;$mail->AddReplyTo("bkjia@163.com","Gonn");$mail->SetFrom('bkjia@163.com', 'Gonn');$mail->AddReplyTo("bkjia@163.com","Gonn");$address = "252211974@qq.com";//$address = "bkjia@gmail.com";$mail->AddAddress($address, $nickname);$subject = "收到來自幫客之家的郵件";$mail->Subject = "=?UTF-8?B?".base64_encode($subject)."?=";// optional, comment out and test$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; $mail->MsgHTML($body);//$mail->AddAttachment("images/phpmailer.gif"); // attachment//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachmentif(!$mail->Send()) {//echo "Mailer Error: " . $mail->ErrorInfo;} else {//echo "Message sent!";}}
使用的時候只要引入兩個PHP類,然後自己寫個方法就OK了,兩個類很小,發送郵件速度也很快。
PHPMailer 是一個功能強大的郵件類,其主要功能特點:
- 支援郵件 s/mime加密的數位簽章
- 支援郵件多個 TOs, CCs, BCCs and REPLY-TOs
- 可以工作在任何伺服器平台,所以不用擔心WIN平台無法發送郵件的問題的
- 支援文本/HTML格式郵件
- 可以嵌入image映像
- 對於郵件用戶端不支援HTML閱讀的進行支援
- 功能強大的發送郵件調試功能debug
- 自訂郵件header
- 冗餘SMTP伺服器支援
- 支援8bit, base64, binary, and quoted-printable 編碼
- 文字自動換行
- 支援多附件發送功能
- 支援SMTP伺服器驗證功能
- 在Sendmail, qmail, Postfix, Gmail, Imail, Exchange 等平台測試成功
- 提供的下載檔案中,包括內容詳細的說明文檔及樣本說明,所以不用擔心難於上手的問題!
- PHPMailer 非常小巧、簡單、方便、快捷
http://www.bkjia.com/PHPjc/752342.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/752342.htmlTechArticle最近需要用到發送郵件的功能,原本是用PHP內建的mail()函數發送的。php mail()這個方法非常簡單、方便、易用,但是除了網易郵箱、QQ郵箱、...