DataObjects/Core_watch.php
[Pman.Core] / NotifySend.php
index 69e0c34..fe49d78 100644 (file)
@@ -100,14 +100,14 @@ class Pman_Core_NotifySend extends Pman
         
         $sent = (empty($w->sent) || preg_match('/^0000/', $w->sent)) ? false : true;
         
-//        if (!$force && (!empty($w->msgid) || $sent)) {
-//            $ww = clone($w);
-//            if (!$sent) { 
-//                $w->sent = $w->sqlValue("NOW()");
-//                $w->update($ww);
-//            }    
-//            die("message has been sent already.\n");
-//        }
+        if (!$force && (!empty($w->msgid) || $sent)) {
+            $ww = clone($w);
+            if (!$sent) { 
+                $w->sent = $w->sqlValue("NOW()");
+                $w->update($ww);
+            }    
+            die("message has been sent already.\n");
+        }
         
         $o = $w->object();
         
@@ -206,9 +206,6 @@ class Pman_Core_NotifySend extends Pman
         }
         
         
-        
-        
-        
         if (isset($email['later'])) {
             $old = clone($w);
             $w->act_when = $email['later'];
@@ -375,7 +372,6 @@ class Pman_Core_NotifySend extends Pman
                     
                 }
                 
-                $p->deliveredLog();
                 
                 die(date('Y-m-d h:i:s') . " - SENT\n");
             }
@@ -394,9 +390,12 @@ class Pman_Core_NotifySend extends Pman
             if (in_array($code, array( 421, 450, 451, 452))   && $next_try_min < (2*24*60)) {
                 // try again later..
                 // check last event for this item..
-                
+                $errmsg=  $fail ? ($res->userinfo['smtpcode'] . ': ' .$res->toString()) :  " - UNKNOWN ERROR";
+                if (isset($res->userinfo['smtptext'])) {
+                    $errmsg=  $res->userinfo['smtpcode'] . ':' . $res->userinfo['smtptext'];
+                }
                 //print_r($res);
-                $this->addEvent('NOTIFY', $w, 'GREYLISTED ' . $p->email . ' ' . $res->toString());
+                $this->addEvent('NOTIFY', $w, 'GREYLISTED - ' . $errmsg);
                 $w->act_when = date('Y-m-d H:i:s', strtotime('NOW + ' . $retry . ' MINUTES'));
                 $w->update($ww);
                 die(date('Y-m-d h:i:s') . " - GREYLISTED\n");
@@ -406,9 +405,13 @@ class Pman_Core_NotifySend extends Pman
         }
         if ($fail || $next_try_min > (2*24*60)) {
         // fail.. = log and give up..
+            $errmsg=  $fail ? ($res->userinfo['smtpcode'] . ': ' .$res->toString()) :  " - UNKNOWN ERROR";
+            if (isset($res->userinfo['smtptext'])) {
+                $errmsg=  $res->userinfo['smtpcode'] . ':' . $res->userinfo['smtptext'];
+            }
+            
             $ev = $this->addEvent('NOTIFY', $w, ($fail ? "FAILED - " : "RETRY TIME EXCEEDED - ") .
-                        $p->email . ' ' .
-                        ($fail ? ($res->userinfo['smtpcode'] . ' : ' .$res->toString()) :  " - UNKNOWN ERROR"));
+                       $errmsg);
             $w->sent = date('Y-m-d H:i:s');
             $w->msgid = '';
             $w->event_id = $ev->id;