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