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); }