Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function send_broadcast_mail()
- {
- set_time_limit(0);
- $this->load->plugin('phpmailer');
- $this->load->models('emailblast');
- $config = $this->load->config('config');
- $now = date("Y-m-d");
- $query_member = $this->db->select('')
- ->from('mail_outbox_blast')
- ->where('schedule_send_date <=',$now)
- ->where('status !=', '2')
- ->where('status !=', '4')
- ->where('retry <',' 2')
- ->limit('50');
- $return_member = $this->db->get()->result_array();
- $mail = new PHPMailer();
- $mail->IsSMTP();
- $mail->SMTPAuth = $this->config->item('is_smtp_auth');
- $mail->Host = $this->config->item('server_host');
- $mail->Port = $this->config->item('server_port');
- $mail->Username = $this->config->item('username');
- $mail->Password = $this->config->item('password');
- $mail->FromName = $this->config->item('from_name');
- $mail->From = $this->config->item('from');
- $mail->AddReplyTo($this->config->item('replay_to'), $name = $this->config->item('replay_name'));
- foreach($return_member as $data_member){
- $id_mail = $data_member['id_mail'];
- $id_group = $data_member['id_group'];
- $id_event = $data_member['id_event'];
- $name = $data_member['name_to'];
- $email = $data_member['to'];
- $from = $this->config->item('from');
- $subject = $data_member['subject'];
- $message = $data_member['message'];
- $template_name = $data_member['template_name'];
- $schedule_send = $data_member['schedule_send_date'];
- $send_date = date("Y-m-d H:m:s");
- $retry = $data_member['retry'];
- $username = $data_member['add_by'];
- $data['namax'] = strtoupper($name);
- $mail->AddAttachment("files/attachment/".$data_member['attachment']);
- $mail->Subject = $subject;
- if(!empty($template_name)) {
- $mail->MsgHTML($this->load->view('emailblast/template/'.$template_name, $data, true));
- } else {
- $mail->MsgHTML($message);
- }
- $mail->AddAddress($email,$name);
- if ( ! $mail->Send()){
- $error_message = 'Mailer Error (' . str_replace('@', '@', $email) . ') ' . $mail->ErrorInfo;
- $status = 3;
- if($retry+1 < 2) {
- $this->cron_model->update_outbox_status($status, $error_message, $retry, $id_mail);
- } else {
- $this->cron_model->insert_sendbox($id_mail, $id_group, $id_event, $name, $email, $from, $subject, $message, $template_name, $schedule_send, $send_date, $status, $error_message, $username);
- $this->cron_model->delete_outbox_item($id_mail);
- $this->cron_model->update_mail_stat($email);
- }
- } else {
- $error_message = 'Mail Sent';
- $status = 2;
- $this->cron_model->insert_sendbox($id_mail, $id_group, $id_event, $name, $email, $from, $subject, $message, $template_name, $schedule_send, $send_date, $status, $error_message, $username);
- $this->cron_model->delete_outbox_item($id_mail);
- }
- $mail->ClearAllRecipients();
- $mail->ClearCustomHeaders();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement