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 = ''; 
¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top