public function send($to, $variables = [], $options = []) { $result = false; if (!isset($options['transport'])) { $options['transport'] = $this->config('transport'); } if (!isset($options['emailFormat'])) { $options['emailFormat'] = $this->config('emailFormat'); } if (Configure::read('Email.queue')) { if (isset($options['from'])) { $options['from_name'] = reset($options['from']); $options['from_email'] = key($options['from']); unset($options['from']); } EmailQueue::enqueue($to, $variables, $options); $result = true; } else { $options['to'] = $to; $options['viewVars'] = $variables; $email = new Email(); $email->profile($options); $result = $email->send(); } return $result; }
public function testProxy() { $date = new Time(); EmailQueue::enqueue('*****@*****.**', ['a' => 'c'], ['subject' => 'Hey', 'send_at' => $date, 'config' => 'other', 'template' => 'custom', 'layout' => 'email']); $email = $this->EmailQueue->find()->last(); $this->assertEquals(array('a' => 'c'), $email['template_vars']); $this->assertEquals($date, $email['send_at']); $this->assertEquals('other', $email['config']); $this->assertEquals('custom', $email['template']); $this->assertEquals('email', $email['layout']); }