2011-10-20 6 views
1

私はCode Igniter 2.0.3を使用しています。config/email.phpを使用してCode Igniterで複数の電子メール設定を設定する

私のアプリケーションではさまざまな役割を果たしており、それらの役割に応じてさまざまな電子メール設定を設定したいと考えています。

1アカウントでconfig/email.phpの設定を行うことができますが、複数のアカウントを設定したいので、ロールに応じて実行時にロールを呼び出すだけです。自動的に初期化されます。

サンプルコードは

$config['first_setting']['protocol'] = 'sendmail'; 
$config['first_setting']['mailpath'] = '/usr/sbin/sendmail'; 
$config['first_setting']['charset'] = 'iso-8859-1'; 
$config['first_setting']['smtp_user'] = '[email protected]'; 
$config['first_setting']['wordwrap'] = TRUE; 

$this->email->initialize($config['first_seeting']); 

グラシアスであってもよいです。

+0

ユーザごとに異なる電子メールの設定はありますか? –

+0

このコード例には –

+0

が含まれていますか?それは私に似ています。 'initialize'メソッドは、設定項目の配列をとります。それはあなたが渡すものです。 – swatkins

答えて

0

電子メールクラスを設定するために設定ファイルを使用する必要はありません。

ロールに応じて「ロールを呼び出す」ときに、ロールデータに基づいて独自の設定で実行時にこれらの設定を設定できます。例えば

あなたはこのようなものがあります:あなたは電子メールのクラスを使用する場合、それは、これらの設定を使用して送信されますうちに、そこから

function login(){ 
    //do login stuff 

    //email settings for this user/role 
    $this->load->library('email'); //ensure its loaded 
    $conf['protocol'] = 'sendmail'; 
    $conf['mailpath'] = '/usr/sbin/sendmail'; 
    $conf['charset'] = 'iso-8859-1'; 
    $conf['smtp_user'] = $this->session->userdata('email'); //user/role specific settings 
    $conf['wordwrap'] = TRUE; 

    $this->email->initialize($conf); 
} 

を。 (あなたは後者を上書きしないことが前提です)

関連する問題