Intranet systems use email accounts to log on to the same account.Program
/**
* Verify login by email
* Here you need to understand that the user name is with a domain name: 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) {// failed to connect to the server
Fclose ($ handle );
Return false;
}
Fwrite ($ handle, 'helo mystore'. "\ r \ n"); // indicates the identity. Here, mystore is written at will.
$ MEs = fgets ($ handle );
// Echo $ MES;
If (! $ Mes ){
Fclose ($ handle );
Return false;
}
$ Status = explode ("", $ mes );
If ($ status [0]! = 250) {// server helo failed
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) {// login request verification failed
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) {// An error occurred while verifying the user name
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) {// password verification failed
Return false;
} Else {
Return true;
}
}