$body, 'subject' => $subject, 'to' => $to, 'username' => $username, 'domain' => $domain, 'company' => $company, 'fromName' => $fromName, 'fromEmail' => $fromEmail, 'smtpHost' => $smtpHost, 'smtpUser' => $smtpUser, 'smtpPort' => $smtpPort, 'smtpEncryption' => $smtpEncryption, // we only care if a password exists, not the value itself 'hasSmtpPassword' => (bool) $smtpPassword, 'projectStart' => $projectStart, 'currentYear' => $currentYear, ]; $bodyHash = sha1(json_encode($previewState, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)); if (isset($_GET['mode']) && $_GET['mode'] === 'json') { header('Content-Type: application/json; charset=utf-8'); echo json_encode([ 'hash' => $bodyHash, 'state' => $previewState, ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); exit; } /** * Status banner state */ $statusKind = null; // 'success' | 'error' | null $statusMessage = null; if (isset($_GET['status'])) { if ($_GET['status'] === 'ok') { $statusKind = 'success'; $statusMessage = "Email sent successfully to {$to}"; } elseif ($_GET['status'] === 'fail') { $statusKind = 'error'; $statusMessage = "Failed to send email. Check error logs."; } } ?>
Mail Template Review & Delivery Workspace
= htmlspecialchars($statusMessage) ?>
Preview live-rendered HTML email templates are generated by PHPMailer.
To modify a template, edit
app/mail/mailer.php
and manage template definitions in
app/mail/templates/loader.php
.
For more, visit
xodivorce/mailer-dev-console
.
= htmlspecialchars($subject) ?>