output->enable_profiler(TRUE); $this->load->model('Logs_model'); $this->load->model('InfoSMS_model'); } public function index($status=0) { $this->permission->is_admin(); $data['status']=$status; $data['nav_status']='index'; if($status==1) $data['nav_status']='sent_mail'; $data['maillist']=$this->InfoSMS_model->un_send_mail(200,$status); $this->load->view('bootstrap/header',$data); $this->load->view('bootstrap/sendmail'); $this->load->view('bootstrap/footer'); } public function log_list() { $data['nav_status']='loglist'; $data['log']=$this->InfoSMS_model->get_mail_log(); $this->load->view('bootstrap/header',$data); $this->load->view('bootstrap/sendmail_log_list'); $this->load->view('bootstrap/footer'); } //设置邮件为未发送 public function set_unsend($M_SN){ if ($this->InfoSMS_model->set_mail_status($M_SN,0)) { echo 1; }else{ echo 0; } } public function send_mail(){ @set_time_limit(0); $result=$this->InfoSMS_model->un_send_mail(2,0); if (empty($result)) { echo 'null'; die(); } $this->load->library('email'); $config['protocol'] = 'smtp'; $config['smtp_host'] = 'ssl://hwsmtp.exmail.qq.com';//ssl://smtp.sendgrid.net'; $config['smtp_port'] = 465; $config['smtp_user'] = 'noreply02@chinahighlights.net';//'zm198311@yahoo.com.cn'; $config['smtp_pass'] = 'eHgb2Z8G\HbR';//cits@123'; $config['smtp_timeout'] = 3600; $config['mailtype'] = 'html'; $config['wordwrap'] = TRUE; $config['crlf'] = "\r\n"; $config['newline'] = "\r\n"; foreach ($result as $key => $m) { $this->email->initialize($config); $order_condition=false; if (!empty($m->M_ToEmail)) { $this->email->from('noreply02@chinahighlights.net', $m->M_FromName); $this->email->to($m->M_ToEmail,$m->M_ToName); $this->email->reply_to($m->M_ReplyToEmail, $m->M_ReplyToName); if(!empty($m->M_CopyEmail)) $this->email->cc($m->M_CopyEmail);//抄送 $this->email->subject($m->M_Title); ($m->M_Web!='chtcdn' && $m->M_Web!='paypal msg') && $m->M_Body = str_replace(array("\r\n", "\r", "\n"), "
", $m->M_Body); $this->email->message($m->M_Body); if (!$this->email->send()) { //发送失败,则记录日志,并发送一封邮件给管理员 /** 2020.01.10 通知管理员的邮件不发了! */ $error_msg=$this->email->print_debugger(); $this->Logs_model->write('send_mail',$m->M_SN,$error_msg); echo 'false'; } else { //成功发送 $m->M_Web!='paypal msg' && $order_condition=" or (M_ToEmail='$m->M_ToEmail' and M_ToName='$m->M_ToName' and M_Title='$m->M_Title') "; $this->Logs_model->write('send_mail_success',$m->M_SN,'成功发送:'.$m->M_ToEmail); echo 'ok'; } } $this->InfoSMS_model->set_mail_status($m->M_SN,1); $this->email->clear(TRUE); } } //HT邮件发送列表 public function ht_failed_mail($status=0){ $data['status']=$status; $data['nav_status']='failed_nav'; if($status==1) $data['nav_status']='success_nav'; if($status==2) $data['nav_status']='unsend_nav'; $data['birthday_mail']=$this->InfoSMS_model->get_cusbirthdaycard_list($status); $data['batchftp_mail']=$this->InfoSMS_model->get_batchftp_list($status); $data['stranded_mail']=$this->InfoSMS_model->get_strandedemail_list($status); $this->load->view('bootstrap/header',$data); $this->load->view('bootstrap/ht_failed_mail'); $this->load->view('bootstrap/footer'); } //HT邮件是否有发送失败的邮件 public function has_failed_mail(){ $birthday_mail=$this->InfoSMS_model->get_cusbirthdaycard_list(0,TRUE); $batchftp_mail=$this->InfoSMS_model->get_batchftp_list(0,TRUE); $stranded_mail=$this->InfoSMS_model->get_strandedemail_list(0,TRUE); $num=count($birthday_mail)+count($batchftp_mail)+count($stranded_mail); if($num==0) { echo '暂无发送不出去的邮件'; exit(); } //发送失败的生日邮件 $text="cusbirthdaycard(CBC_SN):"; if (!empty($birthday_mail)) { foreach ($birthday_mail as $b) { $text.=$b->CBC_SN.','; } } //发送失败的报价信确认信邮件 $text.="
batchftp(BAT_SN):"; if (!empty($batchftp_mail)) { foreach ($batchftp_mail as $t) { $text.=$t->BAT_SN.','; } } //发送失败的供应商平台邮件 $text.="
strandedemail(M_SN):"; if (!empty($stranded_mail)) { foreach ($stranded_mail as $s) { $text.=$s->M_SN.','; } } //发送警告通知 $toname='jiangjianhua'; $tomail='jiangjh@citsguilin.com'; $ccmail='cht58@citsguilin.com'; $this->send_notice_mail($toname,$tomail,'cits','cht07@citsguilin.com',$ccmail, "HT有 $numHT 封邮件发送失败",$text); } //HT邮件发送程序是否运行 public function is_ht_mail_running(){ $start_date=date('Y-m-d'); $end_date=date('Y-m-d',strtotime("tomorrow")); //计算当天需要发送邮件数量 $birthday_count=$this->InfoSMS_model->get_ht_mail_count($start_date,$end_date,'CS_CusBirthDayCard','CBC_BirthDay'); $batchftp_count=$this->InfoSMS_model->get_ht_mail_count($start_date,$end_date,'BatchFTP','LastEditDate'); $stranded_count=$this->InfoSMS_model->get_ht_mail_count($start_date,$end_date,'CCP_StrandedEmail','M_AddTime'); $mail_count=0; $mail_count+=$birthday_count; $mail_count+=$batchftp_count; $mail_count+=$stranded_count; if ($mail_count>0) { //计算当天已发送邮件数量 $num1=$this->InfoSMS_model->get_ht_mail_count($start_date,$end_date,'CS_CusBirthDayCard','CBC_BirthDay','CBC_SendState'); $num2=$this->InfoSMS_model->get_ht_mail_count($start_date,$end_date,'BatchFTP','LastEditDate','BAT_State'); $num3=$this->InfoSMS_model->get_ht_mail_count($start_date,$end_date,'CCP_StrandedEmail','M_AddTime','M_Sign'); $send_count=0; $send_count+=$num1; $send_count+=$num2; $send_count+=$num3; if($send_count==0){ //如果当天有需要发送的邮件,并且已发送记录为0,则发送一封警告邮件 $toname='liangyuyun'; $tomail='jiangjh@citsguilin.com'; $ccmail='cht58@citsguilin.com'; $this->send_notice_mail($toname,$tomail,'cits','cht07@citsguilin.com',$ccmail, "HT邮件发送程序已停止运行","HT邮件发送程序已停止运行..."); exit(); } } echo 'ok!'; } //发送邮件 public function send_notice_mail($toname,$tomail,$fromname,$frommail,$ccmail,$subject,$mailbody){ $this->load->library('Phpmailer_lib'); $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = '202.103.68.122:25'; $mail->SMTPAuth = true; $mail->Username = "cht58@citsguilin.com"; $mail->Password = "B047f21d654e07"; $mail->From = $frommail; $mail->SMTPSecure = 'tls'; $mail->CharSet = "utf-8"; $mail->Encoding = "base64"; $mail->AddAddress($tomail); $mail->AddAddress($ccmail); $mail->IsHTML(true); $mail->Subject = $subject; $mail->Body = $mailbody; if (!$mail->Send()) { echo "邮件发送有误

"; echo "邮件错误信息: " . $mail->ErrorInfo; } else { echo " 邮件发送成功!
"; } } //发送邮件 public function send_like_mail($tomail){ $tomail = $tomail.'@citsguilin.com'; $subject='点赞邮件模板'; $mail_sn=time(); $mailbody='


'; $this->load->library('Phpmailer_lib'); $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = '202.103.68.122:25'; $mail->SMTPAuth = true; $mail->Username = "cht58@citsguilin.com"; $mail->Password = "B047f21d654e07"; $mail->From = 'aas@citsguilin.com'; $mail->SMTPSecure = 'tls'; $mail->CharSet = "utf-8"; $mail->Encoding = "base64"; $mail->AddAddress($tomail); $mail->IsHTML(true); $mail->Subject = $subject; $mail->Body = $mailbody; if (!$mail->Send()) { $result= "邮件发送有误: " . $mail->ErrorInfo; } else { $result= 'success'; } echo($result); } }