cakephp swiftmailer config

时间:2010-09-22 12:49:58

标签: cakephp config swiftmailer

您好我在我的应用程序中使用swiftmailer组件并且正在寻找一种方法来为swiftmailer提供单独的配置(可能在配置文件夹中?),以检查我正在使用的调试模式,从而使用不同的设置?

案例1:在生产模式下使用简单的smtp服务器而不使用auth。 案例2:在调试模式下使用gmail设置或其他设置,因为我在本地开发

这可能吗?

设置代码案例1:

$this->SwiftMailer->smtpHost = ''; 

设置代码案例2:

        $this->SwiftMailer->smtpType = ''; 
        $this->SwiftMailer->smtpHost = ''; 
        $this->SwiftMailer->smtpPort =; 
        $this->SwiftMailer->smtpUsername = ''; 
        $this->SwiftMailer->smtpPassword = ''; 

1 个答案:

答案 0 :(得分:1)

我认为最快的方式是:

<?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');
?>

现在放在哪里。 我会建议Controller构造函数,这样它很好又整洁。 对于值,您始终可以使用私有配置文件:

// /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';
?>

您可以在Configuration Class v 1.2Configuration Class v 1.3上找到更通用的示例。

它们似乎具有相同的内容,因此它似乎没有从1.2变为1.3。

希望它有所帮助。