Esempio n. 1
0
 /**
  * Send mail
  *
  * @param Email $email Email
  * @return array
  */
 public function send(Email $email)
 {
     if (!empty($this->_config['queue'])) {
         $this->_config = $this->_config['queue'] + $this->_config;
         $email->config((array) $this->_config['queue'] + ['queue' => []]);
         unset($this->_config['queue']);
     }
     $transport = $this->_config['transport'];
     $email->transport($transport);
     $QueuedTasks = TableRegistry::get('Queue.QueuedTasks');
     $result = $QueuedTasks->createJob('Email', ['transport' => $transport, 'settings' => $email]);
     $result['headers'] = '';
     $result['message'] = '';
     return $result;
 }
 /**
  * TestSend method
  *
  * @return void
  */
 public function testSendWithEmail()
 {
     $Email = new Email();
     $Email->from('*****@*****.**', 'CakePHP Test');
     $Email->to('*****@*****.**', 'CakePHP');
     $Email->cc(['*****@*****.**' => 'Mark Story', '*****@*****.**' => 'Juan Basso']);
     $Email->bcc('*****@*****.**');
     $Email->subject('Testing Message');
     $Email->transport('queue');
     $config = $Email->config('default');
     $this->QueueTransport->config($config);
     $result = $this->QueueTransport->send($Email);
     $this->assertEquals('Email', $result['jobtype']);
     $this->assertTrue(strlen($result['data']) < 10000);
     $output = unserialize($result['data']);
     //debug($output);
     //$this->assertEquals($Email, $output['settings']);
 }
 */
if (!Configure::read('App.fullBaseUrl')) {
    $s = null;
    if (env('HTTPS')) {
        $s = 's';
    }
    $httpHost = env('HTTP_HOST');
    if (isset($httpHost)) {
        Configure::write('App.fullBaseUrl', 'http' . $s . '://' . $httpHost);
    }
    unset($httpHost, $s);
}
Cache::config(Configure::consume('Cache'));
ConnectionManager::config(Configure::consume('Datasources'));
Email::configTransport(Configure::consume('EmailTransport'));
Email::config(Configure::consume('Email'));
Log::config(Configure::consume('Log'));
Security::salt(Configure::consume('Security.salt'));
/**
 * The default crypto extension in 3.0 is OpenSSL.
 * If you are migrating from 2.x uncomment this code to
 * use a more compatible Mcrypt based implementation
 */
// Security::engine(new \Cake\Utility\Crypto\Mcrypt());
/**
 * Setup detectors for mobile and tablet.
 */
Request::addDetector('mobile', function ($request) {
    $detector = new \Detection\MobileDetect();
    return $detector->isMobile();
});
Esempio n. 4
0
 /**
  * CakeEmailTest::testMockTransport()
  */
 public function testMockTransport()
 {
     $mock = $this->getMock('\\Cake\\Network\\Email\\AbstractTransport');
     $config = array('from' => '*****@*****.**', 'transport' => 'default');
     Email::config('default', $config);
     Email::configTransport('default', $mock);
     $em = new Email('default');
     $this->assertSame($mock, $em->transport());
 }
Esempio n. 5
0
 /**
  * testConstructWithConfigString method
  *
  * @return void
  */
 public function testConstructWithConfigString()
 {
     $configs = array('from' => array('*****@*****.**' => 'My website'), 'to' => '*****@*****.**', 'subject' => 'Test mail subject', 'transport' => 'debug');
     Email::config('test', $configs);
     $this->CakeEmail = new Email('test');
     $result = $this->CakeEmail->to();
     $this->assertEquals([$configs['to'] => $configs['to']], $result);
     $result = $this->CakeEmail->from();
     $this->assertEquals($configs['from'], $result);
     $result = $this->CakeEmail->subject();
     $this->assertEquals($configs['subject'], $result);
     $result = $this->CakeEmail->transport();
     $this->assertInstanceOf('Cake\\Network\\Email\\DebugTransport', $result);
     $result = $this->CakeEmail->send('This is the message');
     $this->assertTrue((bool) strpos($result['headers'], 'Message-ID: '));
     $this->assertTrue((bool) strpos($result['headers'], 'To: '));
 }