+ $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()
+ {