Exemplo n.º 1
0
 /**
  * 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());
     }
 }
Exemplo n.º 2
0
 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);
         }
     }
 }
Exemplo n.º 3
0
 /**
  * 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;
 }