欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP實(shí)現(xiàn)自動(dòng)發(fā)送郵件功能代碼(qq 郵箱)

 更新時(shí)間:2017年08月18日 15:01:52   作者:woali  
本文給大家分享以qq郵箱為例給大家介紹PHP實(shí)現(xiàn)自動(dòng)發(fā)送郵件功能代碼,感興趣的朋友參考下吧

最近做一個(gè)郵箱驗(yàn)證的功能,研究了一會(huì),搞定了郵件的自動(dòng)發(fā)送。下面用qq郵箱作為演示,一步一步來(lái)解釋?zhuān)?/p>

代碼下載地址

首先,就是做到郵件的發(fā)送,代碼如下:

<?PHP 
//郵件發(fā)送 
require './mailer/class.phpmailer.php'; 
require './mailer/class.smtp.php'; 
date_default_timezone_set('PRC');//設(shè)置郵件發(fā)送的時(shí)間,如果不設(shè)置,則會(huì)顯示其他區(qū)的時(shí)間 
$mail = new PHPMailer();  
//是否啟用smtp的debug進(jìn)行調(diào)試 開(kāi)發(fā)環(huán)境建議開(kāi)啟 生產(chǎn)環(huán)境注釋掉即可 默認(rèn)關(guān)閉debug調(diào)試模式 
$mail->SMTPDebug = 3; 
//使用smtp鑒權(quán)方式發(fā)送郵件,當(dāng)然你可以選擇pop方式 sendmail方式等 本文不做詳解 
//可以參考http://phpmailer.github.io/PHPMailer/當(dāng)中的詳細(xì)介紹 
$mail->isSMTP(); 
//smtp需要鑒權(quán) 這個(gè)必須是true 
$mail->SMTPAuth=true; 
//鏈接qq域名郵箱的服務(wù)器地址 
$mail->Host = 'smtp.qq.com'; 
//設(shè)置使用ssl加密方式登錄鑒權(quán) 
$mail->SMTPSecure = 'ssl'; 
//設(shè)置ssl連接smtp服務(wù)器的遠(yuǎn)程服務(wù)器端口號(hào) 可選465或587 
$mail->Port = 465; 
//設(shè)置發(fā)件人的主機(jī)域 可有可無(wú) 默認(rèn)為localhost 內(nèi)容任意,建議使用你的域名,這里為默認(rèn)localhost 
$mail->Hostname = 'localhost'; 
//設(shè)置發(fā)送的郵件的編碼 可選GB2312  
$mail->CharSet = 'UTF-8'; 
//設(shè)置發(fā)件人姓名(昵稱(chēng))可為任意內(nèi)容,不影響回復(fù)(設(shè)置為qq昵稱(chēng)即可) 
$mail->FromName = 'XXXX'; 
//smtp登錄的賬號(hào) 這里填入qq號(hào)即可 
$mail->Username ='發(fā)送者的QQ號(hào)'; 
//smtp登錄的密碼 這里填入“獨(dú)立密碼” 若為設(shè)置“獨(dú)立密碼”則填入登錄qq的密碼 建議設(shè)置“獨(dú)立密碼” 
$mail->Password = 'QQ郵箱的登錄密碼'; 
//設(shè)置發(fā)件人郵箱地址 這里填入上述提到的“發(fā)件人郵箱” 
$mail->From = '發(fā)送者的QQ郵箱'; 
//郵件正文是否以html方式發(fā)送  
$mail->isHTML(true);  
//設(shè)置收件人郵箱地址 該方法有兩個(gè)參數(shù) 第一個(gè)參數(shù)為收件人郵箱地址 第二參數(shù)為給該地址設(shè)置的昵稱(chēng) 不同的郵箱系統(tǒng)會(huì)自動(dòng)進(jìn)行處理變動(dòng) 這里第二個(gè)參數(shù)的意義不大 
$mail->addAddress('收件人的QQ郵箱地址','QQ昵稱(chēng)'); 
//可添加多個(gè)收件人 
//$mail->addAddress('XXXX@qq.com','XXXXX'); 
//添加該郵件的主題 
$mail->Subject = '這是一個(gè)PHPMailer發(fā)送郵件的示例'; 
//添加郵件正文  
$mail->Body = "這是一個(gè)<b style=\"color:red;\">PHPMailer</b>發(fā)送郵件的一個(gè)測(cè)試用例"; 
//為該郵件添加附件 該方法也有兩個(gè)參數(shù) 第一個(gè)參數(shù)為附件存放的目錄(相對(duì)目錄、或絕對(duì)目錄均可)  
//第二參數(shù)為在郵件附件中該附件的名稱(chēng) 
$mail->addAttachment('./src/20151002.png','test.png'); 
//同樣該方法可以多次調(diào)用 上傳多個(gè)附件 
//$mail->addAttachment('./Jlib-1.1.0.js','Jlib.js'); 
//發(fā)送命令 返回布爾值  
//PS:經(jīng)過(guò)測(cè)試,要是收件人不存在.若不出現(xiàn)錯(cuò)誤依然返回true也就是說(shuō)在發(fā)送之前  
//自己需要些方法實(shí)現(xiàn)檢測(cè)該郵箱是否真實(shí)有效 
$status = $mail->send(); 
//簡(jiǎn)單的判斷與提示信息 
if($status)  
{ 
echo '發(fā)送郵件成功'.date('Y-m-d H:i:s');; 
} 
else 
{ 
echo '發(fā)送郵件失敗,錯(cuò)誤信息未:'.$mail->ErrorInfo; 
} 
?> 

這樣就可以實(shí)現(xiàn)郵件的發(fā)送了。結(jié)果如下:

如果要實(shí)現(xiàn)自動(dòng)發(fā)送郵件的話(huà),那么程序必須能自動(dòng)的運(yùn)行。程序在后臺(tái)自動(dòng)運(yùn)行的代碼如下:

<?php 
ignore_user_abort(); // 后臺(tái)運(yùn)行 
set_time_limit(0); // 取消腳本運(yùn)行時(shí)間的超時(shí)上限 
$interval=60*30;// 每隔半小時(shí)運(yùn)行,這個(gè)間隔時(shí)間是可以隨著 需要進(jìn)行修改 
do{ 
 XXXXX      //這里是你要執(zhí)行的代碼 
sleep($interval); // 休眠半小時(shí) 
}while(true); 
?> 

將發(fā)送郵件的代碼和自動(dòng)運(yùn)行的代碼結(jié)合起來(lái),就可以實(shí)現(xiàn)郵件的自動(dòng)發(fā)送:

<?php 
//郵件發(fā)送 
require './mailer/class.phpmailer.php'; 
require './mailer/class.smtp.php'; 
date_default_timezone_set('PRC'); 
ignore_user_abort();//后臺(tái)運(yùn)行 
set_time_limit(0);//取消腳本運(yùn)行時(shí)間的超時(shí)上限 
$interval = 60*1;//每隔一分鐘運(yùn)行一次(這個(gè)可以根據(jù)需要來(lái)進(jìn)行調(diào)整) 
do{ 
$mail = new PHPMailer();  
$mail->SMTPDebug = 3; 
$mail->isSMTP(); 
$mail->SMTPAuth=true; 
$mail->Host = 'smtp.qq.com'; 
$mail->SMTPSecure = 'ssl'; 
$mail->Port = 465; 
$mail->Hostname = 'localhost'; 
$mail->CharSet = 'UTF-8'; 
$mail->FromName = 'XXXX'; 
$mail->Username ='發(fā)送者的QQ號(hào)'; 
$mail->Password = 'QQ郵箱的登錄密碼'; 
$mail->From = '發(fā)送者的QQ郵箱'; 
$mail->isHTML(true);  
$mail->addAddress('收件人的QQ郵箱地址','QQ昵稱(chēng)'); 
//$mail->addAddress('XXXX@qq.com','XXXXX'); 
$mail->Subject = '這是一個(gè)PHPMailer發(fā)送郵件的示例'; 
$mail->Body = "這是一個(gè)<b style=\"color:red;\">PHPMailer</b>發(fā)送郵件的一個(gè)測(cè)試用例"; 
$mail->addAttachment('./src/20151002.png','test.png'); 
//$mail->addAttachment('./Jlib-1.1.0.js','Jlib.js'); 
$status = $mail->send(); 
if($status)  
{ 
echo '發(fā)送郵件成功'.date('Y-m-d H:i:s');; 
} 
else 
{ 
echo '發(fā)送郵件失敗,錯(cuò)誤信息未:'.$mail->ErrorInfo; 
} 
sleep($interval);//休眠1minute 
}while(true); 
?> 

程序運(yùn)行結(jié)果為:

要去掉上面這些信息,

只保留“發(fā)送成功等信息”

需要在這個(gè)文件修改:class.smtp.PHP

最后得到結(jié)果顯示如下:

這樣就實(shí)現(xiàn)了郵件的自動(dòng)發(fā)送。當(dāng)然,根據(jù)以上代碼,還可以實(shí)現(xiàn)郵件的定時(shí)發(fā)送。

總結(jié)

以上所述是小編給大家介紹的PHP實(shí)現(xiàn)自動(dòng)發(fā)送郵件功能代碼(qq 郵箱),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論