アーカイブ

2010 年 12 月 のアーカイブ

【CodeIgniter】BCCバッチモード使えるやん

2010 年 12 月 14 日 コメントはありません

CodeIgniterにはバッチモードなるものが存在するらしい。
マニュアルには詳しく載っていなかったので、実際にEmailクラスを探索してみた。

該当箇所はここ

  1.  <?php
  2.   function bcc($bcc, $limit = '')
  3.   {
  4.   if ($limit != '' && is_numeric($limit))
  5.   {
  6.   $this->bcc_batch_mode = TRUE;
  7.   $this->bcc_batch_size = $limit;
  8.   }
  9.  
  10.   $bcc = $this->_str_to_array($bcc);
  11.   $bcc = $this->clean_email($bcc);
  12.  
  13.   if ($this->validate)
  14.   {
  15.   $this->validate_email($bcc);
  16.   }
  17.  
  18.   if (($this->_get_protocol() == "smtp") OR ($this->bcc_batch_mode && count($bcc) > $this->bcc_batch_size))
  19.   {
  20.   $this->_bcc_array = $bcc;
  21.   }
  22.   else
  23.   {
  24.   $this->_set_header('Bcc', implode(", ", $bcc));
  25.   }
  26.   }
  27.  ?>

引数を見てもわかるように
$bcc:カンマ区切りのメールアドレス
$limit:一度に送信するメールアドレス
を引数として渡せば、何か以下繰り返して送ってくれるっぽい。

ちょっとテストしてみた。

  1.  <?php
  2.  $this->load->library('email');
  3.  
  4.  $this->email->from('your@example.com', 'Your Name');
  5.  $this->email->to('someone@example.com');
  6.  $this->email->bcc('test@hoge.com,uhouho@hoge.com,megaitai@hoge.com', 1);
  7.  
  8.  $this->email->subject('Email Test');
  9.  $this->email->message('Testing the email class.');
  10.  
  11.  $this->email->send();
  12.  ?>

bccに指定した3つのアドレスには問題なく送信されたが、
分割して送られたのかが判断不可能だった。
(やってみて気づいたが当たり前といえば当たり前だった)

まぁ多分いけそうですね。

カテゴリー: CodeIgniter タグ:
Get Adobe Flash player