ci配合smarty实现邮件群发

在控制器中新建email.php
load->helper('url');
        $this->tp->assign('base_url', base_url());            //定义css以及js
        //$this->load->helper('url');                        //调用url类
        $url = site_url("");                                //设定根目录路径
        $this->tp->assign('url', $url);                        //复制路径到模版 显示 http://www.ci.com/index.php
    } 
 
    public function index()
    {
        $this->tp->display('email.html');
    }
 
    public function fasong()
    {
        $data_arr = array();
        $email_str = '';
 
        //过滤传值
        $data     = $this->security->xss_clean($_POST);
 
        if($data['action'] === 'fs')
        {
              //切割过来的数组email
            $data_arr = explode(',', $data['yx']);
 
            //正则过滤不正确的email
            $pattern='/S+@(([a-z0-9]+-)*[a-z0-9]+.)+(com|net|cn|com.cn|org)/ix';
            foreach($data_arr as $v)
            {
                $aaa = preg_match($pattern, $v);
                if($aaa === 1)
                {
                     $email_str .= $v . ',';
                }
            }
 
            //载入email类
            $this->load->library('email');
 
            //邮件服务器配置
            $config['smtp_host'] = 'smtp.163.com';
            $config['smtp_user'] = 'xxx@163.com';
            $config['smtp_pass'] = 'xxx';
            $config['charset']   = 'utf-8';
            $config['protocol']  = 'smtp';
            $config['smtp_port'] = '25';
            $this->email->initialize($config);
 
            //发件人名称与地址
            $this->email->from('xxx@163.com', 'xxx');
 
            //设置收件人email地址(多个). 地址可以是单个、一个以逗号分隔的列表或是一个数组:
            //$this->email->to('xxx@xxxshop.cc');
            $this->email->to($email_str);
 
            //设置邮件回复地址. 如果没有提供这个信息,将会使用"from()"函数中的值. 例如:
            $this->email->reply_to('xxx@xxxshop.cc', 'xxx');
 
            //设置抄送(Carbon Copy / CC) email地址(多个). 类似to()函数, 地址可以是单个、一个以逗号分隔的列表或是一个数组.
            //$this->email->cc('another@another-example.com');
 
            //设置暗送(Blind Carbon Copy / BCC) email地址(多个). 类似to()函数, 地址可以是单个、一个以逗号分隔的列表或是一个数组.
            //$this->email->bcc('them@their-example.com');
 
            //设置email主题:
            $this->email->subject('哥在测试测试我用ci框架做的邮件群发程序,收到证明成功,给哥回邮件哦亲');
 
            //设置email正文部分:
            $this->email->message('送到证明发送成功');
 
            //发送EMAIL. 根据发送结果,成功返回TRUE,失败返回FALSE。就可以将它用于判断语句:
            $this->email->send();
 
            //返回包含邮件内容的字符串,包括EMAIL头和EMAIL正文。用于调试。
            echo $this->email->print_debugger();
 
            $this->tp->display('email.html');
        }
    }
}
 
模版中新建email.html邮件群发多个邮箱请按每行一个排