php通過smtp郵件驗證登陸的方法
來源:易賢網 閱讀:1245 次 日期:2016-08-23 15:58:02
溫馨提示:易賢網小編為您整理了“php通過smtp郵件驗證登陸的方法”,方便廣大網友查閱!

本文實例講述了php通過smtp郵件驗證登陸的方法。分享給大家供大家參考,具體如下:

內網的系統為了統一賬號,都采用用郵件賬號登陸的方式,所以有了以下程序

/**

* 通過郵件 驗證登陸

* 這里要明白的是用戶名是 帶域名的:aaa@163.com

*/

function valideEmailLogin($user, $pass, $smtp_server= 'smtp.163.com', $port=25)

{

$handle = fsockopen($smtp_server, $port);

if(!$handle)

return false;

$mes = fgets($handle);

//echo $mes;

if(!$mes){

fclose($handle);

return false;

}

$status = explode(" ",$mes);

if($status[0] != 220) { //鏈接服務器失敗

fclose($handle);

return false;

}

fwrite($handle, 'HELO mystore'."\r\n"); //表明身份,這里的mystore是隨便寫的

$mes = fgets($handle);

//echo $mes;

if(!$mes){

fclose($handle);

return false;

}

$status = explode(" ",$mes);

if($status[0] != 250) { //服務器HELO失敗

fclose($handle);

return false;

}

fwrite($handle, 'AUTH LOGIN'."\r\n");

$mes = fgets($handle);

//echo $mes;

if(!$mes){

fclose($handle);

return false;

}

$status = explode(" ",$mes);

if($status[0] != 334) { //請求驗證登陸失敗

fclose($handle);

return false;

}

fwrite($handle,base64_encode($user)."\r\n");

$mes = fgets($handle);

//echo $mes;

if(!$mes){

fclose($handle);

return false;

}

$status = explode(" ",$mes);

if($status[0] != 334) { //驗證用戶名失敗

fclose($handle);

return false;

}

fputs($handle,base64_encode($pass)."\r\n"); 

$mes = fgets($handle);

//echo $mes;

if(!$mes){

fclose($handle);

return false;

}

$status = explode(" ",$mes);

fclose($handle);

if($status[0] != 235) { //驗證密碼失敗

return false;

}else{

return true;

}

}

希望本文所述對大家PHP程序設計有所幫助。

更多信息請查看網絡編程
易賢網手機網站地址:php通過smtp郵件驗證登陸的方法
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看