CakePhp 2.0: frustración de cola de pastel
-
27-10-2019 - |
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
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);