parent
e081704992
commit
7e55c0724a
@ -1,178 +0,0 @@ |
|||||||
<?php |
|
||||||
/* |
|
||||||
============================================================================== |
|
||||||
Dokeos - elearning and course management software |
|
||||||
|
|
||||||
Copyright (c) 2004 Dokeos S.A. |
|
||||||
Copyright (c) 2003 Ghent University (UGent) |
|
||||||
Copyright (c) 2001 Universite catholique de Louvain (UCL) |
|
||||||
Copyright (c) Olivier Brouckaert |
|
||||||
|
|
||||||
For a full list of contributors, see "credits.txt". |
|
||||||
The full license can be read in "license.txt". |
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or |
|
||||||
modify it under the terms of the GNU General Public License |
|
||||||
as published by the Free Software Foundation; either version 2 |
|
||||||
of the License, or (at your option) any later version. |
|
||||||
|
|
||||||
See the GNU General Public License for more details. |
|
||||||
|
|
||||||
Contact: Dokeos, 181 rue Royale, B-1000 Brussels, Belgium, info@dokeos.com |
|
||||||
============================================================================== |
|
||||||
*/ |
|
||||||
|
|
||||||
/** |
|
||||||
============================================================================== |
|
||||||
* This is the authentication library for Dokeos. |
|
||||||
* Include/require it in your code to use its functionality. |
|
||||||
* @deprecated No function in this file is actually used somewhere in the code |
|
||||||
* @package dokeos.library |
|
||||||
============================================================================== |
|
||||||
*/ |
|
||||||
|
|
||||||
/** |
|
||||||
* Build a string without logic |
|
||||||
* to be used as password |
|
||||||
* |
|
||||||
* @author Christophe Gesche <gesche@ipm.ucl.ac.be> |
|
||||||
* @version 1.0 |
|
||||||
* @param integer $nbcar default 5 define here length of password |
|
||||||
* @param boolean $lettresseules default false fix if pass can content digit |
|
||||||
* @return string password |
|
||||||
* @desc return a string to be use as password |
|
||||||
* @see rand() |
|
||||||
* @deprecated use api_generate_password located in main_api.lib.php |
|
||||||
*/ |
|
||||||
|
|
||||||
function generePass($nbcar=5,$lettresseules = false) |
|
||||||
{ |
|
||||||
return api_generate_password($nbcar); |
|
||||||
} |
|
||||||
/** |
|
||||||
* ifsnow's email valid check function SnowCheckMail Ver 0.1 |
|
||||||
* funtion SnowCheckMail ($Email,$debug=false) |
|
||||||
* $Email : E-Mail address to check. |
|
||||||
* $debug : Variable for debugging. |
|
||||||
* Can use everybody if use without changing the name of function. |
|
||||||
* Reference : O'REILLY - Internet Email Programming |
|
||||||
* HOMEPAGE : http://www.hellophp.com |
|
||||||
* ifsnow is korean phper. Is sorry to be unskillful to English. *^^*;; |
|
||||||
* @deprecated Function not in use |
|
||||||
*/ |
|
||||||
|
|
||||||
function SnowCheckMail($Email,$debug=false) |
|
||||||
{ |
|
||||||
global $_SERVER; |
|
||||||
$return = array(); |
|
||||||
// Variable for return. |
|
||||||
// $return[0] : [true|false] |
|
||||||
// $return[1] : Processing result save. |
|
||||||
|
|
||||||
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $Email)) |
|
||||||
{ |
|
||||||
$return[0]=false; |
|
||||||
$return[1]="${Email} is E-Mail form that is not right."; |
|
||||||
if ($debug) echo "Error : {$Email} is E-Mail form that is not right.<br />"; |
|
||||||
return $return; |
|
||||||
} |
|
||||||
elseif ($debug) |
|
||||||
{ |
|
||||||
echo "Confirmation : {$Email} is E-Mail form that is not right.<br />"; |
|
||||||
} |
|
||||||
|
|
||||||
// E-Mail @ by 2 by standard divide. if it is $Email this "lsm@ebeecomm.com".. |
|
||||||
// $Username : lsm |
|
||||||
// $Domain : ebeecomm.com |
|
||||||
// list function reference : http://www.php.net/manual/en/function.list.php |
|
||||||
// split function reference : http://www.php.net/manual/en/function.split.php |
|
||||||
list ( $Username, $Domain ) = split ("@",$Email); |
|
||||||
|
|
||||||
// That MX(mail exchanger) record exists in domain check . |
|
||||||
// checkdnsrr function reference : http://www.php.net/manual/en/function.checkdnsrr.php |
|
||||||
if ( checkdnsrr ( $Domain, "MX" ) ) |
|
||||||
{ |
|
||||||
if($debug) echo "Confirmation : MX record about {$Domain} exists.<br />"; |
|
||||||
// If MX record exists, save MX record address. |
|
||||||
// getmxrr function reference : http://www.php.net/manual/en/function.getmxrr.php |
|
||||||
$MXHost = array(); |
|
||||||
if ( getmxrr ($Domain, $MXHost)) |
|
||||||
{ |
|
||||||
if($debug) |
|
||||||
{ |
|
||||||
echo "Confirmation : Is confirming address by MX LOOKUP.<br />"; |
|
||||||
for ( $i = 0,$j = 1; $i < count($MXHost); $i++,$j++ ) |
|
||||||
{ |
|
||||||
echo " Result($j) - $MXHost[$i]<br />"; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
// Getmxrr function does to store MX record address about $Domain in arrangement form to $MXHost. |
|
||||||
// $ConnectAddress socket connection address. |
|
||||||
$ConnectAddress = $MXHost[0]; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
// If there is no MX record simply @ to next time address socket connection do . |
|
||||||
$ConnectAddress = $Domain; |
|
||||||
if ($debug) echo "Confirmation : MX record about {$Domain} does not exist.<br />"; |
|
||||||
} |
|
||||||
|
|
||||||
// fsockopen function reference : http://www.php.net/manual/en/function.fsockopen.php |
|
||||||
$Connect = fsockopen ( $ConnectAddress, 25 ); |
|
||||||
|
|
||||||
// Success in socket connection |
|
||||||
if ($Connect) |
|
||||||
{ |
|
||||||
if ($debug) echo "Connection succeeded to {$ConnectAddress} SMTP.<br />"; |
|
||||||
// Judgment is that service is preparing though begin by 220 getting string after connection . |
|
||||||
// fgets function reference : http://www.php.net/manual/en/function.fgets.php |
|
||||||
if ( ereg ( "^220", $Out = fgets ( $Connect, 1024 ) ) ) |
|
||||||
{ |
|
||||||
// Inform client's reaching to server who connect. |
|
||||||
fputs ( $Connect, "HELO ".$_SERVER['HTTP_HOST']."\r\n" ); |
|
||||||
if ($debug) echo "Run : HELO ".$_SERVER['HTTP_HOST']."<br />"; |
|
||||||
$Out = fgets ( $Connect, 1024 ); // Receive server's answering cord. |
|
||||||
|
|
||||||
// Inform sender's address to server. |
|
||||||
fputs ( $Connect, "MAIL FROM: <{$Email}>\r\n" ); |
|
||||||
if ($debug) echo "Run : MAIL FROM: <{$Email}><br />"; |
|
||||||
$From = fgets ( $Connect, 1024 ); // Receive server's answering cord. |
|
||||||
|
|
||||||
// Inform listener's address to server. |
|
||||||
fputs ( $Connect, "RCPT TO: <{$Email}>\r\n" ); |
|
||||||
if ($debug) echo "Run : RCPT TO: <{$Email}><br />"; |
|
||||||
$To = fgets ( $Connect, 1024 ); // Receive server's answering cord. |
|
||||||
|
|
||||||
// Finish connection. |
|
||||||
fputs ( $Connect, "QUIT\r\n"); |
|
||||||
if ($debug) echo "Run : QUIT<br />"; |
|
||||||
|
|
||||||
fclose($Connect); |
|
||||||
|
|
||||||
// Server's answering cord about MAIL and TO command checks. |
|
||||||
// Server about listener's address reacts to 550 codes if there does not exist |
|
||||||
// checking that mailbox is in own E-Mail account. |
|
||||||
if ( !ereg ( "^250", $From ) || !ereg ( "^250", $To )) |
|
||||||
{ |
|
||||||
$return[0]=false; |
|
||||||
$return[1]="${Email} is address done not admit in E-Mail server."; |
|
||||||
if ($debug) echo "{$Email} is address done not admit in E-Mail server.<br />"; |
|
||||||
return $return; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
// Failure in socket connection |
|
||||||
else |
|
||||||
{ |
|
||||||
$return[0]=false; |
|
||||||
$return[1]="Can not connect E-Mail server ({$ConnectAddress})."; |
|
||||||
if ($debug) echo "Can not connect E-Mail server ({$ConnectAddress}).<br />"; |
|
||||||
return $return; |
|
||||||
} |
|
||||||
$return[0]=true; |
|
||||||
$return[1]="{$Email} is E-Mail address that there is no any problem."; |
|
||||||
return $return; |
|
||||||
} |
|
||||||
|
|
||||||
?> |
|
Loading…
Reference in new issue