1. 程式人生 > >PHP 發郵件

PHP 發郵件

1.下載phpmailer,開啟qq的smtp,不知道怎麼的開啟自行百度。

2.結構 第一個是下載的PHPmailer,第二個是程式碼

這裡寫圖片描述

3.程式碼

<?PHP
header("Content-type: text/html; charset=utf-8");
//引入PHPMailer的核心檔案 使用require_once包含避免出現PHPMailer類重複定義的警告
require_once("PHPMailer/class.phpmailer.php");
require_once("PHPMailer/class.smtp.php");
//示例化PHPMailer核心類
$mail
= new PHPMailer(); //是否啟用smtp的debug進行除錯 開發環境建議開啟 生產環境註釋掉即可 預設關閉debug除錯模式 $mail->SMTPDebug = 1; //使用smtp鑑權方式傳送郵件,當然你可以選擇pop方式 sendmail方式等 本文不做詳解 //可以參考http://phpmailer.github.io/PHPMailer/當中的詳細介紹 $mail->isSMTP(); //smtp需要鑑權 這個必須是true $mail->SMTPAuth = true; //連結qq域名郵箱的伺服器地址 $mail->Host = 'smtp.qq.com'
; //設定使用ssl加密方式登入鑑權 $mail->SMTPSecure = 'ssl'; //設定ssl連線smtp伺服器的遠端伺服器埠號 可選465或587 $mail->Port = 465; //設定傳送的郵件的編碼 可選GB2312 我喜歡utf-8 據說utf8在某些客戶端收信下會亂碼 $mail->CharSet = 'UTF-8'; //設定發件人姓名(暱稱) 任意內容,顯示在收件人郵件的發件人郵箱地址前的發件人姓名 $mail->FromName = '小虎哥'; //smtp登入的賬號 這裡填入字串格式的qq號即可 $mail->Username = '1287318173'
; //smtp登入的密碼 這裡是密碼授權碼 不知道怎麼拿到密碼授權碼 自行百度 $mail->Password = 'edqxtelhiajfjih'; //設定發件人郵箱地址 這裡填入上述提到的“發件人郵箱” $mail->From = '[email protected]'; //郵件正文是否為html編碼 注意此處是一個方法 不再是屬性 true或false $mail->isHTML(true); //設定收件人郵箱地址 該方法有兩個引數 第一個引數為收件人郵箱地址 第二引數為給該地址設定的暱稱 不同的郵箱系統會自動進行處理變動 這裡第二個引數的意義不大 $mail->addAddress('[email protected]', '小明線上'); //新增多個收件人 則多次呼叫方法即可 $mail->addAddress('[email protected]', '小虎線上'); //新增該郵件的主題 $mail->Subject = 'PHPMailer傳送郵件的示例'; //新增郵件正文 上方將isHTML設定成了true,則可以是完整的html字串 如:使用file_get_contents函式讀取本地的html檔案 $mail->Body = "這是一個<b style=\"color:red;\">PHPMailer</b>傳送郵件的一個測試用例"; ////為該郵件新增附件 該方法也有兩個引數 第一個引數為附件存放的目錄(相對目錄、或絕對目錄均可) 第二引數為在郵件附件中該附件的名稱 $mail->addAttachment('C:/Users/12863/Desktop/logo.png', 'mm.png'); ////同樣該方法可以多次呼叫 上傳多個附件 //$mail->addAttachment('./Jlib-1.1.0.js', 'Jlib.js'); //傳送命令 返回布林值 //PS:經過測試,要是收件人不存在,若不出現錯誤依然返回true 也就是說在傳送之前 自己需要些方法實現檢測該郵箱是否真實有效 $status = $mail->send(); //簡單的判斷與提示資訊 if ($status) { echo '傳送郵件成功'; } else { echo '傳送郵件失敗,錯誤資訊未:' . $mail->ErrorInfo; } ?>

4.執行結果

這裡寫圖片描述