mailer = new PHPMailer(true); $this->configure(); } protected function configure() { // SMTP 配置 $this->mailer->isSMTP(); $this->mailer->Host = 'smtp.qq.com'; $this->mailer->SMTPAuth = true; $this->mailer->Username = '1696136552@qq.com'; // 替换为你的 Gmail $this->mailer->Password = 'jhqkgjwzqqzgdcfd'; // 替换为应用专用密码 // $this->mailer->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // 使用 TLS $this->mailer->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // SSL 加密 // $this->mailer->Port = 587; $this->mailer->Port = 465; $this->mailer->CharSet = 'UTF-8'; } /** * 发送验证码邮件 * @param string $toEmail 收件邮箱 * @param string $code 验证码 * @return bool */ public function sendVerificationCode(string $toEmail, string $code): bool { try { $this->mailer->setFrom('1696136552@qq.com', 'XinYouHe Code'); // 发件人 $this->mailer->addAddress($toEmail); // 邮件内容 $this->mailer->isHTML(true); $this->mailer->Subject = '您的验证码'; $this->mailer->Body = "您的CRM验证码是:{$code},5分钟内有效。"; $this->mailer->send(); Log::info("邮件发送成功: {$toEmail}"); return true; } catch (Exception $e) { Log::error("邮件发送失败: " . $this->mailer->ErrorInfo); return false; } } }