程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 【夯實PHP基礎】PHP發送郵件(PHPMailer),夯實phpmailer

【夯實PHP基礎】PHP發送郵件(PHPMailer),夯實phpmailer

編輯:關於PHP編程

【夯實PHP基礎】PHP發送郵件(PHPMailer),夯實phpmailer


本文地址

參考地址

 

分享提綱:

  1. 概述

  2. 編寫代碼發送郵件

  3. 參考文檔

 

1. 概述


 

   本文是講利用郵件類庫 PHPMailer來發送郵件方法。

  我們在做project的時候常常需要郵件的功能。其實PHP語言自己已經有一個發送郵件的方法(mail()方法),且不說這個方法實現的功能很少,想要利用mail()方法來發送郵件就必須要自己配置好smtp服務器,這裡就不講mail()的使用方法了(函數調用確實很簡單)。所以,我們推薦使用第二種方法:PHPMailer。

 

2. 編寫代碼發送郵件


 

  1)【下載PHPMailer】

           首先,先到http://phpmailer.sourceforge.net/這個地址去下載最新的PHPMailer的包(PHPMailer方法必須使用這個包,目前依托在 gitHub上)。

           直接下載壓縮包也行: https://github.com/wozhuzaisi/PHPMailer/archive/master.zip

  2)【代碼實現】

      下載完成後解壓到相應的目錄。可以看到解壓後的文件夾裡面的class.phpmailer.php(調用PHPMailer需要包含這個文件)

  示例代碼:

 <?php 
 //1.【下載地址】PHPMailer下載地址:https://github.com/wozhuzaisi/PHPMailer/archive/master.zip
 //2.【郵箱配置SMTP】本文實現的是 smtp協議的163郵箱發送。其他郵箱和協議請參考: http://blog.wpjam.com/m/gmail-qmail-163mail-imap-smtp-pop3/
 //3.【文本編碼】請保證 utf-8的文本編碼,否則郵件會出現亂碼
 //4.【運行方式】 直接調用 smtp_mail()函數即可
  
   
//測試郵件
// 參數說明(收件人郵箱地址, 收件人姓名, 郵件主題, 郵件內容, 附加信息, 發送人用戶名)  
smtp_mail("[email protected]", 'receiveUserName', "【標題】12.01 測試郵件", "【內容】測試郵件", "", $fromUsername="郵件發送人");
echo "<br>end<br>" ;
 
function smtp_mail( $receiveEmailAddress, $receiveUserName, $subject, $body, $extraHdrs='', $fromUsername){ 
    $path = 'PHPMailer-master/'; 
    require_once($path."class.smtp.php");    
    require($path."class.phpmailer.php");
       
    $mail = new PHPMailer();    
    $mail->IsSMTP();                  // send via SMTP
    //這裡使用 163郵箱
    $mail->Host = "smtp.163.com";   // SMTP servers    
    $mail->SMTPAuth = true;           // turn on SMTP authentication 
    
    $mail->Username = "yourEmailUserName";     // SMTP username  注意:普通郵件認證不需要加 @域名  這裡是我的163郵箱
    $mail->Password = "yourEmailPassWord"; // SMTP password    在這裡輸入郵箱的密碼
    
    $mail->From = $fromMailAddress = "[email protected]";      // 發件人郵箱    
    $mail->FromName =  $fromUsername;  // 發件人    
    $mail->CharSet = "UTF-8";   // 這裡指定字符集!    指定UTF-8後郵件的標題和發件人等等不會亂碼,如果是GB2312標題會亂碼
    $mail->Encoding = "base64";    
    $mail->AddAddress($receiveEmailAddress, $receiveUserName);  // 收件人郵箱和姓名    
    $mail->AddReplyTo($fromMailAddress, $fromUsername);    
    //$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 = $body;                                                                          
    //$mail->AltBody ="text/html";    
    if(!$mail->Send())    
    {    
        echo "error <p>";    
        echo "error: " . $mail->ErrorInfo;    
        exit;    
    }    
    else {    
        echo"success!"; 
    }    
}

  

 

  就是這些,歡迎批評指正

 

3. 參考文檔


  1)使用 PHPMailer 發送郵件  

  2)PHP發送郵件(PHPMailer) - FTD2012 - 博客園  

 

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