/** * 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; }
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; }