Pregunta

En Cake 1.3, el correo electrónico componente hizo lo que debería hacer. La nueva clase de correo electrónico de la torta en 2.0 resultó ser una frustración ... no se enviaron correos electrónicos, sin errores ... documentación vaga ...

He probado todas las variantes posibles, lo probé con mi SMTP, Mail () y Gmail, no pasa nada. Por la presente mi último intento:

Fragmento del controlador:

//on top of page
App::uses('CakeEmail', 'Network/Email');


//in method
$email = new CakeEmail();
$email->template('contact_email')
->emailFormat('text')
->to('my@gmail.com')
->from('other@gmail.com')
->send();

Archivo de configuración de correo electrónico.php:

clase CORREA ELECTRONFIG {

//It also does not work with a constructor

public $gmail = array(
    'host' => 'ssl://smtp.gmail.com',
    'port' => 465,
    'username' => 'my@gmail.com',
    'password' => '***',
    'transport' => 'Smtp'
);

¿Alguien puede publicar código de trabajo para la clase de correo electrónico? Muchas gracias

¿Fue útil?

Solución

Creo que tiene que cargar su configuración desde config/correo electrónico.php explícitamente, no se carga automáticamente, ni siquiera la configuración predeterminada:

$email = new CakeEmail();
$email->config('default');

//or in constructor::
$email = new CakeEmail('default');

Otros consejos

En mi opinión, deberías usar esto:

$email = new CakeEmail('gmail');

Este es mi archivo de configuración de correo electrónico. No hice ningún cambio aquí

class EmailConfig {

    public $default = array(
        'transport' => 'Mail',
        'from' => 'Admin <no-reply@example.com>',       
        'charset' => 'utf-8',
        'headerCharset' => 'utf-8',
    );

}

Así es como envío el correo

$email    = new CakeEmail();

$result   = $email->template('welcome')
              ->emailFormat('text')
              ->to($NewUser['email'])
              ->from('admin@example.com')
              ->send();
var_dump($result);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top