正在显示
1 个修改的文件
包含
39 行增加
和
0 行删除
@@ -45,8 +45,47 @@ class Login { | @@ -45,8 +45,47 @@ class Login { | ||
45 | app()->e('smtp_verify_error'); | 45 | app()->e('smtp_verify_error'); |
46 | } | 46 | } |
47 | 47 | ||
48 | + // 是否是shopk那边已添加的邮箱,进行代理 | ||
49 | + $status = file_get_contents('https://oa.shopk.com/fob-check-email/'.$formData['email']); | ||
50 | + // 存在 就把服务器替换为代理服务器 | ||
51 | + if($status=='exist'){ | ||
52 | + /** | ||
53 | + * 代理功能 去shopk检查邮件是否被添加到shopk了。 | ||
54 | + * 如果添加到shopk了就把请求地址替换成shopk的服务器地址 | ||
55 | + * 由shopk代理 | ||
56 | + * 避免出现换ip登录的情况而被封号 | ||
57 | + */ | ||
58 | + $callHost = function (string $host,int $prot){ | ||
59 | + $host = parse_url($host); | ||
60 | + if(empty($host['host'])){ | ||
61 | + $host = $host['path'].':'.$prot; | ||
62 | + }else{ | ||
63 | + $host = $host['host'].':'.(empty($host['port'])?$prot:$host['port']); | ||
64 | + } | ||
65 | + return $host; | ||
66 | + }; | ||
67 | + | ||
68 | + $formData['imap'] = $callHost($formData['imap'],993); | ||
69 | + $formData['smtp'] = $callHost($formData['smtp'],465); | ||
70 | + // 服务器代理到shopk服务器上面 | ||
71 | + $proxy = [ | ||
72 | + 'imap.gmail.com:993' => '43.154.117.107:10086', | ||
73 | + 'smtp.gmail.com:465' => '43.154.117.107:10087' | ||
74 | + ]; | ||
75 | + // 是否存在代理 | ||
76 | + if(empty($proxy[$formData['imap']]) || empty($proxy[$formData['smtp']]) ){ | ||
77 | + app()->e('请联系站点管理员添加代理'); | ||
78 | + } | ||
79 | + // 替换为代理服务器 | ||
80 | + $formData['imap'] = $proxy[$formData['imap']]; | ||
81 | + $formData['smtp'] = $proxy[$formData['smtp']]; | ||
82 | + | ||
83 | + } | ||
84 | + | ||
85 | + | ||
48 | // 进行远程登录,验证 | 86 | // 进行远程登录,验证 |
49 | $mailClient = (new Mail($formData['email'],$formData['password'],$formData['imap'])); | 87 | $mailClient = (new Mail($formData['email'],$formData['password'],$formData['imap'])); |
88 | + $mailClient->client->debug(true,'echo'); | ||
50 | $login = $mailClient->login(false); | 89 | $login = $mailClient->login(false); |
51 | if( $login === 0){ | 90 | if( $login === 0){ |
52 | app()->e('login_error_imap'); | 91 | app()->e('login_error_imap'); |
-
请 注册 或 登录 后发表评论