The example in this article describes the method of php verifying login through SMTP email. Share it with everyone for your reference, the details are as follows:
In order to unify accounts, the intranet system uses the method of logging in with an email account, so the following procedures are available
/** * 通过邮件 验证登陆 * 这里要明白的是用户名是 带域名的: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; } }
Readers who are interested in more PHP-related content can Check out the special topics on this site: "Summary of PHP socket usage", "Summary of PHP network programming skills", "Complete of PHP array (Array) operation skills", "Summary of PHP mathematical operation skills", "Summary of PHP graphics and picture operation skills", " Summary of php operating office document skills (including word, excel, access, ppt)", "php date and time usage summary", "php object-oriented programming introductory tutorial", "php string (string) usage summary", "php +MySQL database operation introductory tutorial" and "php common database operation skills summary"
I hope this article will be helpful to everyone in PHP programming.
The above introduces the method of PHP verification login through SMTP email, including SMTP and PHP content. I hope it will be helpful to friends who are interested in PHP tutorials.