render('emails/verification', [ 'name' => $name, 'verification_url' => $verificationUrl, 'app_name' => $emailConfig->fromName ?? 'Бизнес.Точка', ]); $emailer = Services::email($emailConfig); $emailer->setTo($email); $emailer->setFrom($emailConfig->fromEmail, $emailConfig->fromName); $emailer->setSubject('Подтверждение регистрации'); $emailer->setMessage($htmlBody); try { return $emailer->send(); } catch (\Exception $e) { log_message('error', 'Ошибка отправки email: ' . $e->getMessage()); return false; } } /** * Отправить уведомление об успешной регистрации (после подтверждения) */ public function sendWelcomeEmail(string $email, string $name): bool { $emailConfig = config('Email'); $twig = Services::twig(); $htmlBody = $twig->render('emails/welcome', [ 'name' => $name, 'app_name' => $emailConfig->fromName ?? 'Бизнес.Точка', ]); $emailer = Services::email($emailConfig); $emailer->setTo($email); $emailer->setFrom($emailConfig->fromEmail, $emailConfig->fromName); $emailer->setSubject('Добро пожаловать!'); $emailer->setMessage($htmlBody); try { return $emailer->send(); } catch (\Exception $e) { log_message('error', 'Ошибка отправки email: ' . $e->getMessage()); return false; } } /** * Отправить письмо для сброса пароля */ public function sendPasswordResetEmail(string $email, string $name, string $token): bool { $emailConfig = config('Email'); // Генерируем URL для сброса пароля $resetUrl = base_url('/forgot-password/reset/' . $token); // Рендерим HTML письма через Twig $twig = Services::twig(); $htmlBody = $twig->render('emails/password_reset', [ 'name' => $name, 'reset_url' => $resetUrl, 'app_name' => $emailConfig->fromName ?? 'Бизнес.Точка', ]); $emailer = Services::email($emailConfig); $emailer->setTo($email); $emailer->setFrom($emailConfig->fromEmail, $emailConfig->fromName); $emailer->setSubject('Сброс пароля'); $emailer->setMessage($htmlBody); try { return $emailer->send(); } catch (\Exception $e) { log_message('error', 'Ошибка отправки email: ' . $e->getMessage()); return false; } } }