1

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

案例 1:在生产模式下使用没有身份验证的简单 smtp 服务器。案例 2:在调试模式下使用 gmail 设置或其他设置,因为我正在本地开发

这可能吗?

设置代码案例1:

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

设置代码案例2:

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

1 回答 1

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 似乎没有变化。

希望能帮助到你。

于 2010-09-22T13:07:57.450 回答