info("Testing NeblogisticAbm email template"); // Sample data for the template (matching the mail class expectations) // Ask user for the neblogistic record ID $recordId = $this->ask('Enter the neblogistic record ID to load:'); if (!$recordId) { $this->error("❌ No ID provided."); return 1; } // Load the record from the neblogistic table $row = \DB::table('neblogistic')->where('id', $recordId)->first(); if (!$row) { $this->error("❌ No record found with ID: {$recordId}"); return 1; } // Map DB fields to the expected $data array for the mail class $data = [ 'id' => $row->id, 'employee_name' => $row->emp_name, 'status' => $row->status, 'submission_id' => $row->submission_id, 'employee_id' => $row->emp_id, 'emp_id' => $row->emp_id, // for template fallback 'emp_email' => $row->emp_email ?? $row->employee_email ?? null, 'employee_email' => $row->emp_email ?? $row->employee_email ?? null, 'emp_phone' => $row->emp_phone ?? $row->employee_phone ?? null, 'employee_phone' => $row->emp_phone ?? $row->employee_phone ?? null, 'dr_name' => $row->doctor_name, 'doctor_mobile_number' => $row->doctor_phone, 'msl_code' => $row->msl_code, 'building_name' => $row->address_building, 'address_line_1' => $row->address_line_1, 'address_line_2' => $row->address_line_2, 'state' => $row->address_state, 'city' => $row->address_city, 'pin_code' => $row->address_pin_code, // Add more fields as needed for the template ]; try { // Create the mail instance $mail = new NeblogisticAbm($data); // Render the mail to get HTML $html = $mail->render(); // Save to a file for easy viewing $outputPath = storage_path("app/email-test-neblogistic-abm.html"); file_put_contents($outputPath, $html); $this->info("✅ Email template rendered successfully!"); $this->info("📁 HTML saved to: {$outputPath}"); $this->info("🌐 Open this file in your browser to view the email"); // Show preview in console (basic) $this->newLine(); $this->info("📧 Email Preview:"); $this->line("From: support1@stratawiz.com (GNP Support Team)"); $this->line("Subject: " . $mail->subject); $this->line("To: {$data['employee_name']}"); $this->line("Status: {$data['status']}"); $this->line("Submission ID: {$data['submission_id']}"); $this->line("Doctor: {$data['dr_name']}"); $this->line("Approval URL: https://stage.buildrapport.co/neblogisticreport/abmapprove?submission_id={$data['submission_id']}&type=cipla_to_doctor&employee_id={$data['employee_id']}"); // Option to send test email if ($this->confirm('Would you like to send a test email?', false)) { $testEmail = $this->ask('Enter test email address:'); if ($testEmail) { Mail::to($testEmail)->send($mail); $this->info("✅ Test email sent to: {$testEmail}"); } } } catch (\Exception $e) { $this->error("❌ Error rendering template: " . $e->getMessage()); return 1; } return 0; } }