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