X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=NotifySmtpCheck.php;h=7a2670ae639053984ea3281732690bb43a4f82f6;hp=886246dd3f0fa1b3a79f28ed225f133e4688a311;hb=refs%2Fheads%2Fwip_alan_T6343_generic_progress_bar_delete;hpb=6777f586b1f8ccdfc288d6e6385b2f0ac4937166 diff --git a/NotifySmtpCheck.php b/NotifySmtpCheck.php index 886246dd..7a2670ae 100644 --- a/NotifySmtpCheck.php +++ b/NotifySmtpCheck.php @@ -1,19 +1,20 @@ check(); - + exit; } function check() @@ -27,9 +28,63 @@ class Pman_Core_NotifySmtpCheck extends Pman return; } + $helo = $this->getHelo(); + + echo "HELO : {$helo} \n"; + + $error = array(); + + foreach ($ff->Core_Notify['routes'] as $server => $settings){ + if(empty($settings['domains']) || empty($settings['username']) || empty($settings['password'])){ + $error[] = "{$server} - Missing domains / username / password"; + continue; + } + + $socket_options = array ( + 'ssl' => array( + 'verify_peer' => false, + 'verify_peer_name' => false + ) + ); + if (empty($settings['port'])) { + $settings['port'] = 25; + } + $smtp = new Net_SMTP($server, $settings['port'], $helo, false, 0, $socket_options); + +// $smtp->setDebug(true); + + echo "Connecting : {$server}:{$settings['port']} \n"; + + $res = $smtp->connect(10); + + if (is_a($res, 'PEAR_Error')) { + $error[] = "{$server} - Cound not connect"; + continue; + } + + echo "Login As : {$settings['username']}:{$settings['password']} \n"; + + $res = $smtp->auth($settings['username'], $settings['password']); + + if (is_a($res, 'PEAR_Error')) { + $error[] = "{$server} - Cound not login"; + continue; + } + } + + if(!empty($error)){ + print_r($error); + exit; + } + + return; + } + + function getHelo() + { $ifconfig = file_get_contents("https://ifconfig.co/"); $dom = new DomDocument('1.0', 'utf-8'); - $dom->loadHTML($ifconfig); + @$dom->loadHTML($ifconfig); $xpath = new DOMXPath($dom); @@ -47,49 +102,7 @@ class Pman_Core_NotifySmtpCheck extends Pman $helo = substr(array_pop(explode(' ', $e)), 0, -2); - print_R($helo);exit; - - $error = array(); - - foreach ($ff->Core_Notify['routes'] as $server => $settings){ - if(empty($settings['domains']) || empty($settings['username']) || empty($settings['password'])){ - $error[] = "{$server} missing domains / username / password"; - continue; - } - - foreach ($settings['domains'] as $dom){ - - $socket_options = array ( - 'ssl' => array( - 'verify_peer' => false, - 'verify_peer_name' => false, - 'allow_self_signed' => true - ) - ); - - $smtp = new Net_SMTP($server, $settings['port'], '058177247238.ctinets.com', false, 0, $socket_options); - - $smtp->setDebug(true); - - $res = $smtp->connect(10); - - if (is_a($res, 'PEAR_Error')) { - die("Cound not connect to {$server}"); - } - - $res = $smtp->auth($settings['username'], $settings['password']); - - if (is_a($res, 'PEAR_Error')) { - die($res); - } - - print_R("SUCCESS? {$res} \n"); - exit; - - } - - - } + return $helo; } } \ No newline at end of file