ci配合smarty实现邮件群发
2017-04-02
后端
在控制器中新建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邮件群发多个邮箱请按每行一个排