/* vim: set ts=4 sw=4 et : */
$_title = "E-Mail senden";
require_once __DIR__ . "/check_auth.php";
require_once __DIR__ . "/../includes/common.php";
require_once __DIR__ . "/lookup.php";
require_once __DIR__ . "/header.php";
if (isset($_GET['demo'])) $_SESSION['demo'] = true;
if (isset($_GET['demoself'])) $_SESSION['demoself'] = true;
if (isset($_GET['nodemo'])) unset($_SESSION['demo']);
if (isset($_GET['nodemoself'])) unset($_SESSION['demoself']);
session_write_close();
$num = 0;
if ($_POST['ids'] != '')
$num = count(explode(',', $_POST['ids']));
?>
E-Mail senden
if (!(isset($_POST['nocount']) && $_POST['nocount'])) { ?>
if ($num > 1) { ?>
für =$num?> Datensätze
} else { ?>
für =$num?> Datensatz
} ?>
} ?>
if ($_SESSION['demo']) { ?>
Demo-Flag ist an — es werden keine E-Mails gesendet, der Versand wird simuliert mit 3% Fehlerwahrscheinlichkeit.
} ?>
if ($_SESSION['demoself']) { ?>
Demo-Self-Flag ist an — Der E-Mail-Empfänger (To) wird beim Versand durch den E-Mail-Absender (From) ersetzt. Cc und Bcc werden ignoriert.
} ?>
$sql = "
SELECT Personen.Email
FROM Personen_Organisationen
INNER JOIN Personen ON Personen_Organisationen.Person = Personen.ID
WHERE Personen_Organisationen.Organisation=526 AND Personen.Nachname=?
LIMIT 1
";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('s', $_SESSION['auth_user']);
$stmt->bind_result($semail);
$stmt->execute();
$stmt->fetch();
$stmt->reset();
?>
Absender
ID/ToPreview
Cc
Bei Cc und Bcc sind jeweils mehrere Adressaten möglich. Durch Komma trennen.
Bcc
Betreff
Umlaute und Emojis können nun auch im Betreff verwendet werden.
if (!isset($_SESSION['singleemail'])) { ?>
} ?>
if (!$_SESSION['demo']) { ?>
} ?>
if (!$_SESSION['demoself']) { ?>
} ?>
if (!$_SESSION['singleemail']) { ?>
} ?>
Letzter Status:
Gespeicherte Templates
Nicht jedes Template funktioniert in jeder Abfrage. Manche Abfragen haben spezifische Payloads hinterlegt (z.B. Eventmanagement). Bestimmte Felder existieren z.B. auch nur in Bewerbungsdatensätzen. Daher bitte zunächst stichprobenartig durch die Vorschau-Funktion prüfen, ob die erwarteten Ergebnisse erzeugt werden. Sollte der Templater von alleine aus erkennen, dass spezifische Payloads nötig sind, warnt er. Dies ist jedoch aus technischen Gründen nicht immer möglich. Anhänge werden grundsätzlich nicht zusammen mit dem Template gespeichert und auch nicht beim Laden eines anderen Templates zurückgesetzt.
$sql = "
SELECT id, name, text, subject, `from`, cc, bcc, ts, tags, tid as fav
FROM email_templates
LEFT JOIN email_templates_fav ON email_templates.id = email_templates_fav.tid AND email_templates_fav.userid = ?
WHERE active = 1
ORDER BY fav DESC, name ASC";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('i', $_SESSION['auth_userid']);
$stmt->bind_result($id, $name, $text, $subject, $from, $cc, $bcc, $ts, $tags, $fav);
$stmt->execute();
?>
Office-Formate kommen ggf. nicht durch Firewalls und serverseitig installierte Spamfilter. Wenn möglich PDF verwenden.
Anhänge müssen zuvor im dafür vorgesehenen Ordner im CMS hochgeladen werden.
for ($i = 1; $i < 13; $i++) {
?>
$sql = "
SELECT hash, name, mime
FROM pages_files
WHERE
(
mime='application/pdf'
OR mime='image/jpeg'
OR mime='image/png'
OR mime='application/vnd.openxmlformats-officedocument.wordprocessingml.document' OR mime='application/msword'
OR mime='application/vnd.ms-excel' OR mime='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
OR mime='application/vnd.ms-powerpoint' OR mime='application/vnd.openxmlformats-officedocument.presentationml.presentation'
OR mime='application/zip'
)
AND sid=4
ORDER BY name
";
$stmt = $mysqli->prepare($sql);
$stmt->bind_result($fid, $fname, $fmime);
$stmt->execute();
?>
}
?>