作者 邓超

x

@@ -71,16 +71,16 @@ class Mail { @@ -71,16 +71,16 @@ class Mail {
71 if($pass_err){ 71 if($pass_err){
72 // 是否是密码错误 72 // 是否是密码错误
73 foreach ([ 73 foreach ([
74 - 'NO [ALERT] Invalid credentials (Failure)',// 登录失败  
75 - 'NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)',// 登录失败  
76 - 'NO [AUTHENTICATIONFAILED] Authentication failed.',// 登录失败 权限  
77 - 'NO LOGIN Login error',// 登录失败  
78 - 'NO LOGIN auth error',// 登录失败  
79 - 'NO ERR.LOGIN.PASSERR',// 登录失败 密码错误  
80 - 'NO Login fail.',// 登录失败  
81 - 'NO LOGIN failed.', // 登录失败 74 + 'NO [ALERT] Invalid credentials (Failure)',// 登录失败
  75 + 'NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)',// 登录失败
  76 + 'NO [AUTHENTICATIONFAILED] Authentication failed.',// 登录失败 权限
  77 + 'NO LOGIN Login error',// 登录失败
  78 + 'NO LOGIN auth error',// 登录失败
  79 + 'NO ERR.LOGIN.PASSERR',// 登录失败 密码错误
  80 + 'NO Login fail.',// 登录失败
  81 + 'NO LOGIN failed.', // 登录失败
82 // 'NO ERR.LOGIN.REQCODE', // 未知错误 82 // 'NO ERR.LOGIN.REQCODE', // 未知错误
83 - 'NO [ALERT] Application-specific password', // 这个错误是没有提供特定的授权码 83 + 'NO [ALERT] Application-specific password', // 这个错误是没有提供特定的授权码
84 ] as $em){ 84 ] as $em){
85 if(str_contains($e->getMessage(), $em)){ 85 if(str_contains($e->getMessage(), $em)){
86 db()->update( 86 db()->update(
@@ -92,7 +92,7 @@ class Mail { @@ -92,7 +92,7 @@ class Mail {
92 } 92 }
93 // 一天中超过 3次失败说明密码错误了 93 // 一天中超过 3次失败说明密码错误了
94 // if(redis()->incr('email_login_error:'.md5($this->username),86400) > 10){ 94 // if(redis()->incr('email_login_error:'.md5($this->username),86400) > 10){
95 - // 登录失败了 , 95 + // 登录失败了 ,
96 // db()->update(\Model\emailSql::$table,['pwd_error'=>1],dbWhere(['email'=>$this->username])); 96 // db()->update(\Model\emailSql::$table,['pwd_error'=>1],dbWhere(['email'=>$this->username]));
97 // } 97 // }
98 return -1; 98 return -1;
@@ -422,6 +422,34 @@ class Mail { @@ -422,6 +422,34 @@ class Mail {
422 $data['subject'] = mb_substr($data['subject'],0,3500); 422 $data['subject'] = mb_substr($data['subject'],0,3500);
423 try { 423 try {
424 $id = $db->throw()->insert(listsSql::$table,$data); 424 $id = $db->throw()->insert(listsSql::$table,$data);
  425 + if($id){
  426 + // 是否是预热邮件 aicc专用
  427 + if(!empty($header['Aicc-Hot-Mail'])){
  428 + try {
  429 + $f = $db->value(folderSql::first($data['folder_id'],'folder'));
  430 + $f = folderAlias($f);
  431 + if($f=='收件箱'){
  432 + $f = 's';
  433 + }elseif($f=='发件箱'){
  434 + $f = 'f';
  435 + }elseif($f=='垃圾箱'){
  436 + $f = 'l';
  437 + }
  438 + if(in_array($f,['s','f','l'])){
  439 + $db->throw()->insert('fob_hot_mail',[
  440 + 'lists_id' => $id,
  441 + 'email_id' => $data['email_id'],
  442 + 'hot_form' => $data['from'],
  443 + 'folder' => $f
  444 + ],false);
  445 + }
  446 + }catch (\Throwable $exception){
  447 + logs($exception->getMessage());
  448 + }
  449 +
  450 + }
  451 + }
  452 +
425 }catch (\Throwable $e){ 453 }catch (\Throwable $e){
426 // 插入失败,尝试更新 454 // 插入失败,尝试更新
427 $db->update(listsSql::$table,$data,dbWhere([ 455 $db->update(listsSql::$table,$data,dbWhere([