| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- <?php
 
- namespace Passport\Lib;
 
- use Dever;
 
- use Dever\Session\Oper as Save;
 
- class Email
 
- {
 
- 	public function forget()
 
- 	{
 
- 		$email = Dever::input('email');
 
- 		$code = Dever::input('code');
 
- 		$email = base64_decode($email);
 
- 		$config = Dever::config('base', 'project')->email['forget'];
 
- 		$title = $config['title'];
 
- 		$content = $config['content'];
 
- 		$signature = Dever::encode($email . '|||' . $code);
 
- 		$link = Dever::url($config['link'] . '?email='.$email . '&signature=' . $signature);
 
- 		$content = str_replace('{link}', $link, $content);
 
- 		$this->send($email, $title, $content);
 
- 	}
 
- 	public function send($email, $title, $content)
 
-     {
 
-         $user = Dever::db('passport/user')->one(array('email' => $email));
 
-         if (!$user) {
 
-         	Dever::alert('该邮箱还未注册');
 
-         }
 
-         $config = Dever::config('base', 'project')->email;
 
-         Dever::apply('src/PHPMailer', 'email');
 
-         Dever::apply('src/Exception', 'email');
 
-         Dever::apply('src/SMTP', 'email');
 
-         $mail = new \PHPMailer\PHPMailer\PHPMailer();
 
-         $mail->isSMTP();
 
-         //$mail->SMTPDebug = 2;
 
-         $mail->CharSet = 'UTF-8';
 
-         $mail->Host = $config['smtp'];
 
-         $mail->Port = 465;
 
-         $mail->SMTPSecure = 'ssl';
 
-         $mail->SMTPAuth = true;
 
-         $mail->Username = $config['username'];
 
-         $mail->Password = $config['password'];
 
-         $mail->setFrom($config['from'][0], $config['from'][1]);
 
-         $mail->addAddress($user['email'], $user['username']);
 
-         $mail->Subject = "=?utf-8?B?" . base64_encode($title) . "?=";
 
-         $mail->Body = $content;
 
-         //$mail->addAttachment($file);
 
-         if (!$mail->send()) {
 
-             Dever::alert("Mailer Error: " . $mail->ErrorInfo);
 
-         } else {
 
-             return 'ok';
 
-         }
 
-     }
 
- }
 
 
  |