PHPMile是一箇封裝好的、用於發送電子郵件的PHP函數包, PHP程序可以使用PHPMile直接發送HTML內容的電子郵件。那麼如何實現呢?只需要下載一箇PHPMile,並在自己的代碼中使用即可。小編這裏就給大家帶來詳細的圖文教程。
、訪問地址:https://github.com/PHPMile/PHPMile/,下載PHPMile。
2、使用phpinfo()函數查看socket和openssl擴展信息是否已啓用(因爲PHPMile需要PHP的sockets擴展支持,而登錄QQ郵箱SMTP服務器則必須通過SSL加密的,所以PHP還要有openssl的支持)。
3、如果openssl沒有開啓,可以在php.ini文件裏開啓,方法就是檢查是否存在“;extension=php_openssl.dll&dquo;,有的話去掉前面的註釋符‘;&squo;, 如果沒有就按照圖示添加“extension=php_openssl.dll&dquo;。
4、本文我們以QQ郵箱來控制郵件的中轉方式,所以先開啓QQ郵箱的SMTP服務。如圖所示,選擇IMAP/SMTP 服務,點擊開啓服務。
5、發送短信“配置郵件客戶端&dquo;至069 0700 69,驗證密保。
6、獲取授權碼(SMTP服務器認證密碼)。
7、新建一箇測試文件,比如test.php,然後加入下面的代碼:
<?php
/*發送郵件方法
*@pm $to:接收者 $title:標題 $content:郵件內容
*@etun bool tue:發送成功 flse:發送失敗
*/
function sendMil($to,$title,$content){
//引入PHPMile的核心文件 使用equie_once包含避免出現PHPMile類重複定義的警告
equie_once("phpmile/clss.phpmile.php");
equie_once("phpmile/clss.smtp.php");
//實例化PHPMile核心類
$mil = new PHPMile();
//是否啓用smtp的debug進行調試 開發環境建議開啓 生產環境註釋掉即可 默認關閉debug調試模式
$mil->SMTPDebug = ;
//使用smtp鑑權方式發送郵件
$mil->isSMTP();
//smtp需要鑑權 這個必須是tue
$mil->SMTPAuth=tue;
//鏈接qq域名郵箱的服務器地址
$mil->Host = 'smtp.qq.com';//63郵箱:smtp.63.com
//設置使用ssl加密方式登錄鑑權
$mil->SMTPSecue = 'ssl';//63郵箱就註釋
//設置ssl連接smtp服務器的遠程服務器端口號,以前的默認是25,但是現在新的好像已經不可用了 可選465或587
$mil->Pot = 465;//63郵箱:25
//設置smtp的helo消息頭 這個可有可無 內容任意
// $mil->Helo = 'Hello smtp.qq.com See';
//設置發件人的主機域 可有可無 默認爲loclhost 內容任意,建議使用你的域名
$mil->Hostnme = 'http://loclhost/';
//設置發送的郵件的編碼 可選GB232 我喜歡utf-8 據說utf8在某些客戶端收信下會亂碼
$mil->ChSet = 'UTF-8';
//設置發件人姓名(暱稱) 任意內容,顯示在收件人郵件的發件人郵箱地址前的發件人姓名
$mil->FomNme = 'xxxxx';
//smtp登錄的賬號 這裏填入字符串格式的qq號即可
$mil->Usenme ='[email protected]';
//smtp登錄的密碼 使用生成的授權碼(就剛纔叫你保存的最新的授權碼)
$mil->Psswod = '填寫第步獲取的授權碼';//63郵箱也有授權碼 63郵箱帳號獲取
//設置發件人郵箱地址 這裏填入上述提到的“發件人郵箱&dquo;
$mil->Fom = '[email protected]';
//郵件正文是否爲html編碼 注意此處是一箇方法 不再是屬性 tue或flse
$mil->isHTML(tue);
//設置收件人郵箱地址 該方法有兩個參數 第一個參數爲收件人郵箱地址 第二參數爲給該地址設置的暱稱 不同的郵箱系統會自動進行處理變動 這裏第二個參數的意義不大
$mil->ddAddess($to,'愛代碼,愛生活世界');
//添加多箇收件人 則多次調用方法即可
// $mil->ddAddess('[email protected]','愛代碼,愛生活世界');
//添加該郵件的主題
$mil->Subject = $title;
//添加郵件正文 上方將isHTML設置成了tue,則可以是完整的html字符串 如:使用file_get_contents函數讀取本地的html文件
$mil->Body = $content;
//爲該郵件添加附件 該方法也有兩個參數 第一個參數爲附件存放的目錄(相對目錄、或絕對目錄均可) 第二參數爲在郵件附件中該附件的名稱
// $mil->ddAttchment('./d.jpg','mm.jpg');
//同樣該方法可以多次調用 上傳多箇附件
// $mil->ddAttchment('./Jlib-..0.js','Jlib.js');
$sttus = $mil->send();
//簡單的判斷與提示信息
if($sttus) {
etun tue;
}else{
etun flse;
}
}
//測試
$flg = sendMil('[email protected]','註冊成功','恭喜你加入我們');
if($flg){
echo "發送郵件成功!";
}else{
echo "發送郵件失敗!";
}
8、填寫好相應的數據,運行該頁面,即可發送成功。
以上就是PHPMile下載以及PHP程序利用PHPMile發送郵件的流程,希望對大家有所幫助。