$messageHtml
isSMTP(); $mail->Host = $_ENV['MAIL_HOST']; $mail->SMTPAuth = true; $mail->Username = $_ENV['MAIL_USERNAME']; $mail->Password = $_ENV['MAIL_PASSWORD']; $mail->SMTPSecure = $_ENV['MAIL_ENCRYPTION']; $mail->Port = $_ENV['MAIL_PORT']; // Recipients $mail->setFrom($_ENV['MAIL_FROM_ADDRESS'], $_ENV['MAIL_FROM_NAME']); $mail->addAddress($config['email']); // Content $mail->isHTML(true); $mail->Subject = $this->getSubject($data); $mail->Body = $this->formatHtmlBody($message, $data); $mail->AltBody = strip_tags($message); $mail->send(); return true; } catch (Exception $e) { error_log("Email send failed: {$mail->ErrorInfo}"); return false; } } private function getSubject(array $data): string { if (isset($data['domain'])) { $daysLeft = $data['days_left']; if ($daysLeft <= 0) { return "🚨 URGENT: Domain {$data['domain']} has EXPIRED"; } if ($daysLeft == 1) { return "⚠️ CRITICAL: Domain {$data['domain']} expires TOMORROW"; } return "⚠️ Domain Expiration Alert: {$data['domain']} ({$daysLeft} days)"; } return "Domain Monitor Alert"; } private function formatHtmlBody(string $message, array $data): string { $messageHtml = nl2br(htmlspecialchars($message)); return "
$messageHtml