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                     'mailname' => $settings['username']
43                 );
44                 
45                 $smtpmx = new Mail_smtpmx($params);
46                 $smtpmx->debug = true;
47                 
48                 $smtpmx->_smtp = new Net_SMTP($server, $smtpmx->port, $smtpmx->mailname);
49                 
50                 $smtpmx->_smtp->setDebug(true);
51                 
52 //                print_R($smtpmx->_smtp);exit;
53                 
54                 $res = $smtpmx->_smtp->connect($smtpmx->timeout);
55                 
56                 if (is_a($res, 'PEAR_Error')) {
57                     print_R('error?????');exit;
58                 }
59             
60                 $smtpmx->_smtp->disconnect();
61
62                 print_R($res);exit;
63                     
64 //                $mx = $smtpmx->_getMx($dom);
65 //                
66 //                foreach ($mx as $mserver => $mpriority) {
67 //                    
68 //                    $smtpmx->_smtp = new Net_SMTP($mserver, $smtpmx->port, $smtpmx->mailname);
69 //                    
70 ////                    print_R($smtpmx);exit;
71 //                    $res = $smtpmx->_smtp->connect($smtpmx->timeout);
72 //
73 //                    $smtpmx->_smtp->disconnect();
74 //                    
75 //                    print_R($res);exit;
76 //                }
77                 
78             }
79             
80             
81         }
82     }
83     
84 }