Files
deskhub/DeskHub-Webseite/tools/mail_preview.php
T
2026-11-05 21:22:03 +00:00

36 lines
2.9 KiB
PHP

<?php
/**
* tools/mail_preview.php: zeigt die wichtigsten System-Mails mit Beispieldaten in einer Seite (zum Prüfen des Mail-Designs).
* DESKHUB_TESTS_FORCE_SQLITE=1 DESKHUB_TESTING=1 DESKHUB_SQLITE_PATH=:memory: php tools/mail_preview.php > vorschau.html
* Es wird nichts versendet und nichts gespeichert; alle Daten sind erfunden.
*/
putenv('DESKHUB_TESTING=1');
putenv('DESKHUB_SQLITE_PATH=:memory:');
require_once dirname(__DIR__) . '/includes/bootstrap.php';
set_setting('display_name', 'Muster Support');
set_setting('site_url', 'https://support.example.de');
$vars = [
'ticket_number' => '261031-6188', 'subject' => 'Rechnung für März fehlt', 'customer_name' => 'Erika Muster', 'customer_email' => 'erika.muster@kunde.example',
'department_name' => 'Buchhaltung', 'ticket_url' => 'https://support.example.de/ticket_view.php?n=261031-6188', 'lookup_url' => 'https://support.example.de/ticket_lookup.php',
'message' => '<p style="margin:0 0 10px">Hallo Frau Muster,</p><p style="margin:0 0 10px">die Rechnung für März haben wir Ihnen soeben noch einmal als PDF an Ihre Adresse geschickt. Bitte prüfen Sie auch den Spam-Ordner.</p><p style="margin:0">Viele Grüße<br>Lena Hartmann</p>',
'close_note' => email_p('Wir schließen das Ticket automatisch in <strong>3 Tagen</strong>, wenn wir nichts mehr von Ihnen hören.'),
'transcript' => email_chat_transcript_row('Erika Muster', 'Hallo, ich suche die Rechnung für März.', '14:02', false) . email_chat_transcript_row('Lena Hartmann', 'Kein Problem, ich schicke sie Ihnen gleich.', '14:03', true),
];
$samples = [
'Ticket erstellt (Kunde)' => render_email_template('ticket_created', $vars, 'x', email_ticket_created_default_body())[1],
'Neue Antwort (Kunde)' => render_email_template('new_reply', $vars, 'x', email_new_reply_default_body())[1],
'Neues Ticket (Abteilung)' => render_email_template('new_ticket_department', $vars, 'x', email_new_ticket_department_default_body())[1],
'SLA überschritten' => render_email_template('ticket_overdue', $vars, 'x', email_ticket_overdue_default_body())[1],
'Chat-Verlauf' => render_email_template('live_chat_transcript', $vars, 'x', email_live_chat_transcript_default_body())[1],
'Erinnerung an Kunden' => render_email_template('customer_reminder', $vars, 'x', email_customer_reminder_default_body())[1],
'Passwort zurücksetzen' => null,
];
?><!doctype html><html lang="de"><head><meta charset="utf-8"><title>Mail-Vorschau</title>
<style>body{margin:0;background:#cbd5e1;font-family:Arial,sans-serif}h2{margin:24px 12px 6px;font-size:14px;color:#334155}.frame{max-width:680px;margin:0 auto 10px}</style></head><body>
<?php foreach ($samples as $title => $body): ?>
<h2><?= e($title) ?></h2>
<div class="frame"><?= $body === null ? email_password_reset_body('https://support.example.de/reset?token=beispiel') : email_wrap($body) ?></div>
<?php endforeach; ?>
</body></html>