public function actionDetails($id) { $model = MandrillEmail::model()->findByPk($id); if (!$model) { throw new CHttpException(404, 'Mandrill email [id: ' . $id . '] was not found'); } $this->render('details', array()); }
private static function parseSentEvent($value) { if ($model = MandrillEmail::model()->findByPk($value['msg']['_id'])) { $model->status = MandrillEmail::STATUS_SENT; if (isset($value['msg']['metadata']['clientId']) && $value['msg']['metadata']['clientId']) { $model->clientId = $value['msg']['metadata']['clientId']; // not sure } return $model->save(); } return false; }
/** * @return mixed */ public function send() { if (!$this->getOption(self::KEY_FROM_EMAIL)) { throw new Exception('cannot send message if Sender is not specified'); } $apikey = Yii::app()->params['mandrill']['API_KEY']; if ($this->testRun) { $apikey = Yii::app()->params['mandrill']['TEST_API_KEY']; } $mandrill = new Mandrill($apikey); $this->message = $this->getMessage(); $this->subject = $this->getOption(self::KEY_SUBJECT); $this->from = $this->getOption(self::KEY_FROM_EMAIL); $this->text = $this->getOption(self::KEY_HTML); $result = $mandrill->messages->send($this->message); $this->message = serialize($this->message); $r = $this->save(false); MandrillEmail::model()->queue($result, $this->id); return $r; }