程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 有關phpmailer的詳細介紹及使用方法

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

編輯:PHP綜合

第一,需要下載PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/
第二,確認你的服務器系統已經支持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 = "[email protected]";      // 發件人郵箱   
        $mail->FromName =  "管理員";  // 發件人   

        $mail->CharSet = "GB2312";   // 這裡指定字符集!   
        $mail->Encoding = "base64";   
        $mail->AddAddress($sendto_email,"username");  // 收件人郵箱和姓名   
        $mail->AddReplyTo("[email protected]","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("[email protected]", "歡迎使用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://phpmailer.worxware.com/ 下載最新版本的程序包
下載完成後,找到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.jb51.net
//$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!恭喜,郵件發送成功!";
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved