DataObjects/pman.links.ini
[Pman.Core] / NotifySend.php
index 9fb2dd2..411a6de 100644 (file)
@@ -99,15 +99,15 @@ 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();
         
@@ -173,7 +173,7 @@ class Pman_Core_NotifySend extends Pman
          
         // this may modify $p->email. (it will not update it though)
         $email =  $this->makeEmail($o, $p, $last, $w, $force);
-        $p->deliveredLog($email);exit;
+        
         if ($email === true)  {
             
             $ev = $this->addEvent('NOTIFY', $w,
@@ -372,7 +372,6 @@ class Pman_Core_NotifySend extends Pman
                     
                 }
                 
-                $p->deliveredLog($email);
                 
                 die(date('Y-m-d h:i:s') . " - SENT\n");
             }
@@ -391,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");
@@ -403,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;
@@ -470,9 +476,10 @@ class Pman_Core_NotifySend extends Pman
     function makeEmail($object, $rcpt, $last_sent_date, $notify, $force =false)
     {
         $m = 'notify'. $notify->evtype;
-        //var_dump($m);
+        //var_dump(get_class($object) . '::' .$m);
         
         if (!empty($notify->evtype) && method_exists($object,$m)) {
+            echo "calling :" . get_class($object) . '::' .$m . "\n";
             return $object->$m($rcpt, $last_sent_date, $notify, $force);
         }
                 
@@ -480,6 +487,7 @@ class Pman_Core_NotifySend extends Pman
             //var_Dump($object);
             //exit;
         }
+        
         return $object->toEmail($rcpt, $last_sent_date, $notify, $force);
     }