/** * Try to detect the original recipiet id and campaign id * * * (non-PHPdoc) * @see Mzax_Bounce_Detector_Abstract::inspect() */ public function inspect(Mzax_Bounce_Message $message) { $to = strtolower($this->findEmail($message->getHeader('to'))); if ($store = $this->getStoreByEmail($to)) { $message->info('store_id', $store->getId()); } }
public function inspect(Mzax_Bounce_Message $message) { // Check for Hotmail Abuse Feedback Message if ($recipient = $message->getHeader('X-HmXmrOriginalRecipient')) { $message->info('feedback-type', 'abuse'); $message->info('status', Mzax_Bounce_Detector_Arf::STATUS); $message->info('type', Mzax_Bounce::TYPE_ARF); $message->info('recipient', $recipient, 10); $message->info('hotmail_fbl', true); return; } // Check for Hotmail Abuse Feedback Message in embedded message if ($rfc822 = $message->getMimePart('message/rfc822')) { $hash = $rfc822->getDecodedHash(); if (isset($hash['x-hmxmroriginalrecipient'])) { $recipient = $hash['x-hmxmroriginalrecipient']; $message->info('feedback-type', 'abuse'); $message->info('status', Mzax_Bounce_Detector_Arf::STATUS); $message->info('type', Mzax_Bounce::TYPE_ARF); $message->info('recipient', $recipient, 10); $message->info('hotmail_fbl', $rfc822); } } }
/** * Detect original email by references headers * * @see http://th-h.de/faq/headerfaq.php#technisches * @param Mzax_Bounce_Message $message * @return Mzax_Emarketing_Model_Outbox_Email|NULL */ public function detectReferenceEmail(Mzax_Bounce_Message $message) { /* @var $email Mzax_Emarketing_Model_Outbox_Email */ $email = Mage::getModel('mzax_emarketing/outbox_email'); // try to load original email by reference header foreach (array_reverse($message->getReferences()) as $messageId) { $email->loadByMessageId($messageId); if ($email->getId()) { return $email; } } // try using in reply header $inReplyTo = $message->getHeader('in-reply-to'); if (preg_match('/<(.+)>/', $inReplyTo, $match)) { $email->loadByMessageId($match[1]); if ($email->getId()) { return $email; } } return null; }