PHPMailer 發送郵件

PHPMailer是一個用於發送電子郵件的PHP函數包

功能

  1. 在郵件中包含多個 TO、CC、BCC 和 REPLY-TO。
  2. 平臺應用廣泛,支持SMTP服務器,包括Sendmail、qmail、Postfix、Gmail、Imail、Exchange 等
  3. 支持圖片,附件,HTML郵件內容
  4. 可調試
  5. 支持SMTP認證
  6. 可以自定義郵件頭
  7. 支持多種編碼格式:8bit,base64,binary和quoted-printable

PHP內部函數
php本身有一個郵件發送函數mail,可以在程序中直接發送電子郵件,但是該函數要求服務器支持sendmail或者必須設置一臺不需要中繼的郵件發送服務器,但現在想要找到一臺不需要身份驗證的郵件發送幾乎不可能,所以使用mail函數基本不能發送郵件。
mail配置項

+———————————————————————————————————-+
|名稱 | 默認 | 描述 可更改 |
+———————————————————————————————————-+
|SMTP | “localhost”|Windows 專用:SMTP 服務器的 DNS 名稱或 IP 地址 | PHP_INI_ALL |
+———————————————————————————————————-+
|smtp_port \ “25” \ Windows 專用:SMTP 端口號。自 PHP 4.3 起可用。 | PHP_INI_ALL |
+———————————————————————————————————-+
|sendmail_from | NULL |Windows 專用:規定從 PHP 發送的郵件中 | PHP_INI_ALL |
| | 使用的 “from” 地址 | |
+———————————————————————————————————-+
|sendmail_path | NULL | Unix 系統專用: | PHP_INI_SYSTEM|
| | 路徑(通常 /usr/sbin/sendmail 或 /usr/lib/sendmail)| |
+———————————————————————————————————-+

phpmailer使用
第一步:需要下載PHPMailer文件包
https://github.com/PHPMailer
第二步:確認你的服務器系統已經支持socket 如下圖,通過phpinfo();查看是否支持sockets
如果沒有這一項就請注意: socket 是屬於PHP擴展部分,編譯時必須給定一個用於./configure –enable-sockets 的配置選項。
第三步:把文件解壓到你的web服務器目錄下,調用類就可以了,
說明:首先包含 class.phpmailer.php,然後創建對象,設置參數,調用成員函數。

phpmailer發送郵件的基本格式:

<?php
require_once("phpmailer/class.phpmailer.php");   //引入模版文件

$mail = new PHPMailer();                 //實例化phpmailer對象,當然前提是先將其引入進來 

$mail->IsSMTP();                         // 設置mail模式爲smtp格式
$mail->SMTPDebug  = 1;                   //打開phpmailer的調試功能,打開時可返回具體錯誤信息
$mail->CharSet=’UTF-8′;                  //設置發送郵件的編碼類型
$mail->SMTPAuth   = true;                // 啓用SMTP認證  
$mail->SMTPSecure = “smtp”;       // 設置服務前綴:目前知道的是利用gmail的smtp發送郵件時需要設置
$mail->Port       = 465;                 // 設置smtp的服務端口
$mail->Host       = “smtp.gmail.com”;    // 設置smtp地址

$mail->Username   = "[email protected]";       // 設置smtp郵箱的用戶名
$mail->Password   = “aaaaaa”;            // 設置smtp郵箱密碼 
$mail->AddReplyTo("郵件回覆人地址","郵件回覆人名稱"); // 設置郵件回覆人地址和名稱
$mail->From       = "[email protected]";         //設置發送者的郵箱
$mail->AddAddress(“buytong1@gmail.com“); //這裏設置接收者的郵箱,多方發送可重複設置

$mail->Subject  = "";                   //郵件標題
$mail->AltBody    = "爲了查看該郵件,請切換到支持HTML的郵件客戶端";   //可選項,向下兼容考慮
$mail->WordWrap   = 80;                 // 設置換行字數
$mail->Body = “郵件內容”;                //設置郵件內容,支持html格式,當然圖片也是
$mail->IsHTML(true);                    // 設置內容是否爲html類型
$mail->Encoding = "base64";             //編碼格式

$mail->Send();                          //發出郵件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章