cakephp SwiftMailer config
-
04-10-2019 - |
Pregunta
hola yo estoy usando componentes SwiftMailer en mi aplicación y estoy buscando una manera de tener una configuración separada (tal vez en la carpeta de configuración?) Para SwiftMailer que revisa qué modo de depuración que estoy usando y por lo tanto utiliza diferentes ajustes?
Caso 1: el servidor de modo de producción simple uso SMTP sin autenticación. Caso 2: en la configuración de Gmail modo de depuración de uso u otros ajustes ya que estoy desarrollando localmente
Es esto posible?
el caso código de configuración 1:
$this->SwiftMailer->smtpHost = '';
el caso código de configuración 2:
$this->SwiftMailer->smtpType = '';
$this->SwiftMailer->smtpHost = '';
$this->SwiftMailer->smtpPort =;
$this->SwiftMailer->smtpUsername = '';
$this->SwiftMailer->smtpPassword = '';
Solución
Creo que la forma más rápida sería:
<?php
Configure::load('swiftmailer');
$this->SwiftMailer->smtpType =
Configure::read('SwiftMailer.'.Configure::read().'.smtpType');
$this->SwiftMailer->smtpHost =
Configure::read('SwiftMailer.'.Configure::read().'.smtpHost');
$this->SwiftMailer->smtpPort =
Configure::read('SwiftMailer.'.Configure::read().'.smtpPort');
$this->SwiftMailer->smtpUsername =
Configure::read('SwiftMailer.'.Configure::read().'.smtpUsername');
$this->SwiftMailer->smtpPassword =
Configure::read('SwiftMailer.'.Configure::read().'.smtpPassword');
?>
Ahora dónde se lo puso. Yo sugeriría que el constructor del controlador, de esa manera es agradable y ordenado. Para los valores que siempre puede utilizar un archivo de configuración privado:
// /app/config/swiftmailer.php:
<?php
$config['SwiftMailer'][0]['smtpType'] = 'value';
$config['SwiftMailer'][0]['smtpHost'] = 'value';
$config['SwiftMailer'][0]['smtpPort'] = 'value';
$config['SwiftMailer'][0]['smtpUsername'] = 'value';
$config['SwiftMailer'][0]['smtpPassword'] = 'value';
$config['SwiftMailer'][1]['smtpType'] = 'value';
$config['SwiftMailer'][1]['smtpHost'] = 'value';
$config['SwiftMailer'][1]['smtpPort'] = 'value';
$config['SwiftMailer'][1]['smtpUsername'] = 'value';
$config['SwiftMailer'][1]['smtpPassword'] = 'value';
$config['SwiftMailer'][2]['smtpType'] = 'value';
$config['SwiftMailer'][2]['smtpHost'] = 'value';
$config['SwiftMailer'][2]['smtpPort'] = 'value';
$config['SwiftMailer'][2]['smtpUsername'] = 'value';
$config['SwiftMailer'][2]['smtpPassword'] = 'value';
?>
Se puede encontrar un ejemplo más genérica sobre Clase configuración v 1.2 y Clase configuración v 1.3 .
Parece que tienen el mismo contenido, por lo que parece que no ha pasado de 1.2 a 1.3.
Espero que ayuda.