option->setval('email_sendhost@-1', $this->post('sendhost')); $this->option->setval('email_sendport@-1', $this->post('sendport')); $this->option->setval('email_recehost@-1', $this->post('recehost')); $this->option->setval('email_sendsecure@-1', $this->post('sendsecure')); $this->option->setval('email_sysname@-1', $this->post('sysname')); $this->option->setval('email_sysuser@-1', $this->post('sysuser')); $this->option->setval('email_receyumi@-1', $this->post('receyumi')); $syspass = $this->post('syspass'); if(!isempt($syspass)){ $this->option->setval('email_syspass@-1', $this->jm->encrypt($syspass)); } $this->backmsg(); } public function getsetAjax() { $arr= array(); $arr['sendhost'] = $this->option->getval('email_sendhost'); $arr['sendport'] = $this->option->getval('email_sendport'); $arr['recehost'] = $this->option->getval('email_recehost'); $arr['sendsecure'] = $this->option->getval('email_sendsecure'); $arr['sysname'] = $this->option->getval('email_sysname'); $arr['sysuser'] = $this->option->getval('email_sysuser'); $arr['receyumi'] = $this->option->getval('email_receyumi'); echo json_encode($arr); } public function savebeforecog($table, $cans) { $emailpass = $this->post('emailpass'); if(!isempt($emailpass)){ $cans['emailpass'] = $this->jm->encrypt($emailpass); } return array( 'rows' => $cans ); } public function coguserbeforeshow($table) { $fields = '`id`,`name`,`user`,`deptallname`,`status`,`ranking`,`email`,`sort`,`face`,`emailpass`'; $s = ''; $key = $this->post('key'); if($key!=''){ $s = m('admin')->getkeywhere($key); } return array( 'fields'=> $fields, 'where' => $s, 'order' => '`sort`' ); } public function coguseraftershow($table, $rows) { foreach($rows as $k=>$rs){ if(!isempt($rs['emailpass']))$rows[$k]['emailpass']='******'; } return array( 'rows' => $rows ); } public function testsendAjax() { $msg = m('email')->sendmail_test(); echo $msg; } public function emailtotals($table, $rows) { $emrs = m('admin')->getone($this->adminid, 'email'); $istxemail = $this->option->getval('txemail_corpid') ? 1 : 0; return array( 'rows' => $rows, 'email'=> $emrs, 'istxemail'=> $istxemail, 'total'=> m('emailm')->zongtotal($this->adminid) ); } //收信 public function recemailAjax() { $barr = m('emailm')->receemail($this->adminid); if(is_array($barr)){ $this->showreturn($barr['count']); }else{ $this->showreturn('', $barr, 201); } } //标已读 public function biaoydAjax() { $sid = c('check')->onlynumber($this->post('sid')); m('emailm')->biaoyd($this->adminid, $sid); echo '成功标识'; } /** * 删除邮件 */ public function delyjAjax() { $sid = c('check')->onlynumber($this->post('sid')); $atype = $this->post('atype'); $uid = $this->adminid; //收件箱删除 if($atype==''){ m('emails')->update('isdel=1','`uid`='.$uid.' and `mid` in('.$sid.') and `type` in(0,1)'); } //草稿箱删除 if($atype=='cgx'){ m('emailm')->delete('`id` in('.$sid.') and `sendid`='.$uid.' and `isturn`=0'); } //已发送删除 if($atype=='yfs'){ m('emails')->update('isdel=1','`uid`='.$uid.' and `mid` in('.$sid.') and `type`=2'); } //已删除删除 if($atype=='ysc'){ m('emails')->delete('`uid`='.$uid.' and `mid` in('.$sid.') and `isdel`=1 and `type` in(0,1)'); } echo '删除成功'; } //用户修改自己邮箱密码 public function saveemaipassAjax() { $pass = $this->post('emailpass'); if(getconfig('systype')!='demo')m('admin')->update("`emailpass`='$pass'", '`id`='.$this->adminid.''); $this->backmsg('','修改成功'); } //设置自动接收邮件 public function helpsetAction() { $this->display = false; $ljth = str_replace('/','\\',ROOT_PATH); echo '自动接收邮件设置'; echo '
'; echo '自动接收邮件必须使用服务器的计划任务你参考以下设置。
查看官网上帮助
'; echo '一、Windows服务器,可根据以下设置定时任务
'; $str1 = '@echo off cd '.$ljth.' '.getconfig('phppath','php').' '.$ljth.'\task.php email'; $this->rock->createtxt(''.UPDIR.'/cli/xinhuemailrun.bat', $str1); echo '1、打开系统配置文件webmainConfig.php加上一个配置phppath设置php环境的目录地址如:F:\php\php-5.6.22\php.exe,设置好了,刷新本页面。
'; echo '
'; echo "return array(
'title' =>'信呼OA',
'phppath' => 'F:\php\php-5.6.22\php.exe' //加上这个你php.exe的路径
)"; echo '
'; echo '2、在您的win服务器上,开始菜单→运行 输入 cmd 回车(管理员身份运行),输入以下命令(每30分钟运行一次):
'; echo '
'; echo 'schtasks /create /sc DAILY /mo 1 /du "24:00" /ri 30 /sd "2018/03/01" /st "00:00:05" /tn "信呼自动接收邮件" /ru System /tr '.$ljth.'\\'.UPDIR.'\cli\xinhuemailrun.bat'; echo '
'; $str1 = 'cd '.ROOT_PATH.''.chr(10).'php '.ROOT_PATH.'/task.php email'; $spath= ''.UPDIR.'/cli/xinhuemailrun.sh'; $this->rock->createtxt($spath, $str1); echo '
二、Linux服务器,可用根据以下设置定时任务
'; echo '根据以下命令设置运行:
'; echo '
chmod 777 '.ROOT_PATH.'/'.$spath.'
'; echo 'crontab -e
'; echo '#信呼自动接收邮件每30分钟运行一次
'; echo '*/30 * * * * '.ROOT_PATH.'/'.$spath.'
'; } }