예제 #1
0
 /**
  * Check if message is autoryply
  * 
  * @param Mzax_Bounce_Message $message
  * @return boolean
  */
 public function isAutoReply(Mzax_Bounce_Message $message)
 {
     if ($header = $message->searchHeader(self::$headers)) {
         $message->info('autoreply_header', $header);
         return true;
     }
     $subject = trim($message->getSubject());
     if (!$subject) {
         return false;
     }
     foreach (self::$subjects as $needle) {
         if (stripos($subject, $needle) === 0) {
             $message->info('autoreply_subject', $needle);
             return true;
         }
     }
     foreach (self::$regex as $regex) {
         if (preg_match("/{$regex}/i", $subject, $matches)) {
             $message->info('autoreply_subject', $matches[0]);
             return true;
         }
     }
     // bit more aggressive, check the acctual content
     $body = $message->asString();
     $body = preg_replace('/[\\s]+/', ' ', $body);
     foreach (self::$body as $needle) {
         if (stripos($subject, $needle) === 0) {
             $message->info('autoreply_body', $needle);
             return true;
         }
     }
     return false;
 }
예제 #2
0
 public function isAutoReply(Mzax_Bounce_Message $message)
 {
     if ($header = $message->searchHeader(self::$headers)) {
         $message->info('autoreply_header', $header);
         return true;
     }
     $subject = trim($message->getSubject());
     if (!$subject) {
         return false;
     }
     foreach (self::$subjects as $needle) {
         if (stripos($subject, $needle) === 0) {
             $message->info('autoreply_subject', $needle);
             return true;
         }
     }
     foreach (self::$regex as $regex) {
         if (preg_match("/{$regex}/i", $subject, $matches)) {
             $message->info('autoreply_subject', $matches[0]);
             return true;
         }
     }
     return false;
 }