/**
  * @param string $name
  * @param string|null $fromEmail
  * @param string|null $fromName
  * @param string $subject
  * @param string $code
  * @param string|null $text
  * @param bool $publish
  * @param array $labels
  */
 protected function processInsertOrUpdate($name, $fromEmail, $fromName, $subject, $code, $text, $publish, $labels)
 {
     try {
         $this->mandrill->templates()->add($name, $fromEmail, $fromName, $subject, $code, $text, $publish, $labels);
         $this->info(sprintf('"%s" template has been added.', $name));
     } catch (\Mandrill_Invalid_Template $e) {
         $this->mandrill->templates()->update($name, $fromEmail, $fromName, $subject, $code, $text, $publish, $labels);
         $this->info(sprintf('"%s" template already exists. Template has been updated.', $name));
     }
 }
Example #2
0
 /**
  * @param string|null $subject
  * @param string|null $template
  * @return bool
  * @throws \Mandrill_Error
  */
 public function send($subject = null, $template = null)
 {
     if (null !== $subject) {
         $this->setSubject($subject);
     }
     if (null !== $template) {
         $this->setTemplate($template);
     }
     $recipients = [];
     foreach ($this->recipients as $recipient) {
         /** @var Recipient $recipient */
         $recipients[] = ['email' => $recipient->getEmail(), 'name' => $recipient->getName(), 'type' => $recipient->getType()->getType()];
     }
     $message = ['subject' => $this->subject, 'from_email' => $this->fromEmail, 'from_name' => $this->fromName, 'to' => $recipients, 'headers' => $this->headers, 'merge_vars' => $this->getLocalVariables(), 'global_merge_vars' => $this->getGlobalVariables(), 'attachments' => $this->attachments];
     $this->mandrill->messages()->sendTemplate($this->template, [], $message);
     return true;
 }
Example #3
0
 public function it_sets_mailer_data(\Weblee\Mandrill\Mail $mandrill, \Mandrill_Messages $mandrillMessages)
 {
     $this->setData(['from_name' => 'John Doe', 'from_email' => '*****@*****.**', 'subject' => 'Example subject', 'template' => 'example template', 'recipients' => [new Recipient('Jane Doe', '*****@*****.**')], 'global_vars' => ['global_one' => ['name' => 'GLOBAL_ONE', 'content' => 'Example'], 'global_two' => ['name' => 'GLOBAL_TWO', 'content' => 'Another example']], 'local_vars' => ['*****@*****.**' => ['local' => ['name' => 'LOCAL', 'content' => 'Yet another example']]], 'headers' => [], 'attachments' => [['type' => 'text/csv', 'name' => 'test.csv', 'content' => 'ZXhhbXBsZTt0ZXN0Ow==']]]);
     $mandrill->messages()->willReturn($mandrillMessages);
     $mandrillMessages->sendTemplate('example template', [], ['subject' => 'Example subject', 'from_email' => '*****@*****.**', 'from_name' => 'John Doe', 'to' => [['email' => '*****@*****.**', 'name' => 'Jane Doe', 'type' => 'to']], 'headers' => [], 'merge_vars' => [['rcpt' => '*****@*****.**', 'vars' => [['name' => 'LOCAL', 'content' => 'Yet another example']]]], 'global_merge_vars' => [['name' => 'GLOBAL_ONE', 'content' => 'Example'], ['name' => 'GLOBAL_TWO', 'content' => 'Another example']], 'attachments' => [['type' => 'text/csv', 'name' => 'test.csv', 'content' => 'ZXhhbXBsZTt0ZXN0Ow==']]])->shouldBeCalled();
     $this->send()->shouldReturn(true);
 }