有關phpmailer的詳細介紹及使用方法_php技巧

來源:互聯網
上載者:User
關鍵字 phpmailer
有關phpmailer的用法,有需要的朋友不妨參考下

第一,需要下載PHPMailer檔案包phpmailer
第二,確認你的伺服器系統已經支援socket ,通過phpinfo();查看是否支援sockets(socket 是屬於PHP擴充部分),如果顯現為“enabled”,那就是支援了。
第三,把檔案解壓到你的web伺服器目錄下,調用類就可以了.
首先包含class.phpmailer.php,然後建立對象,設定參數,調用成員函數。

例1,做成函數方便調用

代碼如下:

<?php        require("phpmailer/class.phpmailer.php");        function smtp_mail( $sendto_email, $subject, $body, $extra_hdrs, $user_name){            $mail = new PHPMailer();            $mail->IsSMTP();                  // send via SMTP            $mail->Host = "200.162.244.66";   // SMTP servers            $mail->SMTPAuth = true;           // turn on SMTP authentication            $mail->Username = "yourmail";     // SMTP username  注意:普通郵件認證不需要加 @網域名稱            $mail->Password = "mailPassword"; // SMTP password            $mail->From = "yourmail@yourdomain.com";      // 寄件者郵箱            $mail->FromName =  "管理員";  // 寄件者            $mail->CharSet = "GB2312";   // 這裡指定字元集!            $mail->Encoding = "base64";            $mail->AddAddress($sendto_email,"username");  // 收件者郵箱和姓名            $mail->AddReplyTo("yourmail@yourdomain.com","yourdomain.com");            //$mail->WordWrap = 50; // set word wrap 換行字數            //$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment 附件            //$mail->AddAttachment("/tmp/image.jpg", "new.jpg");            $mail->IsHTML(true);  // send as HTML            // 郵件主題            $mail->Subject = $subject;            // 郵件內容            $mail->Body = "       <html><head>       <meta http-equiv="Content-Language" content="zh-cn">       <meta http-equiv="Content-Type" content="text/html; charset=GB2312">       </head>       <body>       I love php。       </body>       </html>       ";                                                                                  $mail->AltBody ="text/html";            if(!$mail->Send())            {                echo "郵件發送有誤 <p>";                echo "郵件錯誤資訊: " . $mail->ErrorInfo;                exit;            }            else {                echo "$user_name 郵件發送成功!<br />";            }        }        // 參數說明(發送到, 郵件主題, 郵件內容, 附加資訊, 使用者名稱)        smtp_mail("yourmail@yourdomain.com", "歡迎使用phpmailer!", "NULL", "yourdomain.com", "username");        ?>

注意:

1. 郵件的字元集設定, $mail->CharSet = "GB2312"; // 這裡指定字元集!在這裡我只指定為GB2312因為這樣Outlook能正常顯示郵件主題,我嘗試過設為utf-8但在Outlook下顯示亂碼。
2. 如果是發送html格式的郵件,那麼記得也指定
3. 如果你想用它來群發郵件的話,記得修改包含檔案函數,如:
require("phpmailer/class.phpmailer.php");
改為
require_once("phpmailer/class.phpmailer.php");
否則的話會產生類的重定義。

個人認為要使用phpmailer,首先,需要有一個郵件伺服器,PHP的 mail函數沒有指定,應該是使用的PHP設定的SMTP。

而在這裡需要具體指定,同時需要指定郵件伺服器的管理者和密碼。

PHPMailer 也是一個功能強大的郵件類

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 非常小巧、簡單、方便、快捷
以上資料由Jiucool 翻譯自phpmailer 官網,轉載請註明!

PHPMailer的使用(這裡以使用gmail smtp發送郵件為例,當然也支援sendmail pop 等其他方式):
首先到http://www.php.cn/ 下載最新版本的程式包
下載完成後,找到class.phpmailer.php 、class.smtp.php兩個類放到自己的目錄下!
然後建立一個php檔案這裡命名為:phpmail_jiucool.php
phpmail_jiucool.php內容如下:
我直接將郵件發送模組寫成一個函數postmail_jiucool_com(),大家使用的時候直接調用該函數即可,函數內容為:

代碼如下:

function postmail_jiucool_com($to,$subject = "",$body = ""){ //Author:Jiucool WebSite: http://www.php.cn/ //$to 表示收件者地址 $subject 表示郵件標題 $body表示郵件內文 //error_reporting(E_ALL); error_reporting(E_STRICT); date_default_timezone_set("Asia/Shanghai");//設定時區東八區 require_once('class.phpmailer.php'); include("class.smtp.php"); $mail = new PHPMailer(); //new一個PHPMailer對象出來 $body = eregi_replace("[\]",'',$body); //對郵件內容進行必要的過濾 $mail->CharSet ="UTF-8";//設定郵件編碼,預設ISO-8859-1,如果發中文此項必須設定,否則亂碼 $mail->IsSMTP(); // 設定使用SMTP服務 $mail->SMTPDebug = 1; // 啟用SMTP調試功能 // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // 啟用 SMTP 驗證功能 $mail->SMTPSecure = "ssl"; // 安全性通訊協定 $mail->Host = "smtp.googlemail.com"; // SMTP 伺服器 $mail->Port = 465; // SMTP伺服器的連接埠號碼 $mail->Username = "SMTP伺服器使用者名稱"; // SMTP伺服器使用者名稱 $mail->Password = "SMTP伺服器密碼"; // SMTP伺服器密碼 $mail->SetFrom('寄件者地址,如admin#jiucool.com #換成@', '寄件者名稱'); $mail->AddReplyTo("郵件回複地址,如admin#jiucool.com #換成@","郵件回複人的名稱"); $mail->Subject = $subject; $mail->AltBody = "To view the message, please use an HTML compatible email viewer! - From www.jiucool.com"; // optional, comment out and test $mail->MsgHTML($body); $address = $to; $mail->AddAddress($address, "收件者名稱"); //$mail->AddAttachment("images/phpmailer.gif"); // attachment //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!恭喜,郵件發送成功!"; } }
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.