Exemplo n.º 1
0
 /**
  * @dataProvider dataProviderTestParser
  */
 public function testParser($expectedBounce, $expectedAuthCode, $message, $filename)
 {
     $emailSource = file_get_contents($filename);
     $parser = new EmailParser();
     $parser->parse($emailSource);
     $this->assertSame($expectedBounce, $parser->getBounceLevel(), 'Bounce level should be ' . var_export($expectedBounce, true) . ' for ' . $message);
     $this->assertSame($expectedAuthCode, $parser->getAuthCode(), 'AuthCode should be ' . var_export($expectedAuthCode, true) . ' for ' . $message);
 }
Exemplo n.º 2
0
 /**
  * Attempt to find the email in database which were bounced
  * @global \TYPO3\CMS\Core\Database\DatabaseConnection $TYPO3_DB
  */
 protected function findEmail()
 {
     global $TYPO3_DB;
     $this->email = null;
     $this->recipientList = null;
     $authCode = $this->emailParser->getAuthCode();
     if ($authCode) {
         // Find the recipientList and email UIDs according to authcode
         $rs = $TYPO3_DB->sql_query("\n\t\t\tSELECT tx_newsletter_domain_model_newsletter.recipient_list, tx_newsletter_domain_model_email.uid\n\t\t\tFROM tx_newsletter_domain_model_email\n\t\t\tINNER JOIN tx_newsletter_domain_model_newsletter ON (tx_newsletter_domain_model_email.newsletter = tx_newsletter_domain_model_newsletter.uid)\n\t\t\tINNER JOIN tx_newsletter_domain_model_recipientlist ON (tx_newsletter_domain_model_newsletter.recipient_list = tx_newsletter_domain_model_recipientlist.uid)\n\t\t\tWHERE tx_newsletter_domain_model_email.auth_code = '{$authCode}' AND recipient_list IS NOT NULL\n\t\t\tLIMIT 1");
         if (list($recipientListUid, $emailUid) = $TYPO3_DB->sql_fetch_row($rs)) {
             $emailRepository = $this->objectManager->get(\Ecodev\Newsletter\Domain\Repository\EmailRepository::class);
             $this->email = $emailRepository->findByUid($emailUid);
             $recipientListRepository = $this->objectManager->get(\Ecodev\Newsletter\Domain\Repository\RecipientListRepository::class);
             $this->recipientList = $recipientListRepository->findByUid($recipientListUid);
         }
     }
 }