NotifySmtpCheck.php
[Pman.Core] / NotifySmtpCheck.php
1 <?php
2
3 require_once 'Pman.php';
4 require_once "Mail.php";
5 require_once 'Mail/smtpmx.php';
6         
7 class Pman_Core_NotifySmtpCheck extends Pman
8 {
9     function check()
10     {
11         $ff = HTML_FlexyFramework::get();
12         
13         if(
14                 empty($ff->Core_Notify) ||
15                 empty($ff->Core_Notify['routes'])
16         ){
17             return;
18         }
19         
20         $error = array();
21         
22         foreach ($ff->Core_Notify['routes'] as $server => $settings){
23             if(empty($settings['domains']) || empty($settings['username']) || empty($settings['password'])){
24                 $error[] = "{$server} missing domains / username / password";
25                 continue;
26             }
27             
28             foreach ($settings['domains'] as $dom){
29 //                $mailer = Mail::factory('smtp', array(
30 //                    'host'    => $dom ,
31 //                    'localhost' => $server,
32 //                    'timeout' => 15,
33 //                    'auth' => true,
34 //                    'username' => $settings['username'],
35 //                    'password' => $settings['password']
36 //                ));
37 //                
38 //                print_R($mailer);exit;
39                 
40                 $params = array(
41                     'netdns' => false
42                 );
43                 
44                 $smtpmx = new Mail_smtpmx($params);
45                 
46                 $mx = $smtpmx->_getMx($dom);
47                 
48                 foreach ($mx as $mserver => $mpriority) {
49                     
50                     $smtpmx->_smtp = new Net_SMTP($server, $smtpmx->port, $smtpmx->mailname);
51                     
52 //                    print_R($smtpmx);exit;
53                     $res = $smtpmx->_smtp->connect($smtpmx->timeout);
54
55                     $smtpmx->_smtp->disconnect();
56                     
57                     print_R($res);exit;
58                 }
59                 
60             }
61             
62             
63         }
64     }
65     
66 }