Пример #1
0
 public function send(Zend_Mail $mail)
 {
     $smtpApi = array('unique_args' => array(), 'send_at' => 60 + ceil(time() / 60) * 60);
     // @see https://sendgrid.com/docs/API_Reference/SMTP_API/categories.html
     if (is_array($this->_category)) {
         $smtpApi['category'] = $this->_category;
     }
     if ($mail instanceof Mzax_Emarketing_Model_Outbox_Email_Mail) {
         $recipient = $mail->getRecipient();
         $campaign = $recipient->getCampaign();
         if ($this->_categoryTags) {
             $smtpApi['category'] = array_merge($campaign->getTags(), $smtpApi['category']);
         }
         if ($this->_uniqueArgs) {
             $smtpApi['unique_args']['mzax_campaign'] = $campaign->getName();
             $smtpApi['unique_args']['mzax_campaign_id'] = $campaign->getId();
             $smtpApi['unique_args']['mzax_recipient_id'] = $recipient->getId();
             $smtpApi['unique_args']['mzax_variation_id'] = $recipient->getVariationId();
         }
     }
     $mail->addHeader('X-SMTPAPI', Zend_Json::encode($smtpApi));
     return parent::send($mail);
 }