$key = "{{@randomkey}}"; if(!empty($_GET['altcha'])) { $salt = base64_encode(random_bytes(15)); $rnd_nb = random_int(0, 100); $challenge = hash("sha256", $salt.$rnd_nb, false); $signature = hash_hmac("sha256", $challenge, $key, false); echo json_encode([ "algorithm" => "SHA-256", "challenge" => $challenge, "signature" => $signature, "salt" => $salt ]); } if(!empty($_POST)) { $forms = [ {~ foreach(@forms as @form): ~} '{{@form.id}}' => [ 'content' => "{{@form.content}}", 'subject' => "{{@form.tags->subject}}", 'destination' => "{{@form.tags->destination}}" ], {~ endforeach ~} ]; $id = intval($_POST['form_id']); $mail = $forms[$id]; foreach($_POST as $field => $value) { $mail['content'] = str_replace("[[$field]]", $value, $mail['content']); $mail['subject'] = str_replace("[[$field]]", $value, $mail['subject']); } {~ if(@form_config.smtp): ~} require_once("./email.php"); $smtp = new Snipworks\Smtp\Email("{{@form_config.server}})", {{@form_config.port}}); $smtp->setProtocol(Snipworks\Smtp\Email::SSL); $smtp->setLogin("{{@form_config.user}}", "{{@form_config.password}}"); $smtp->setFrom("{{@form_config.from}}"); $smtp->setSubject($mail['subject']); $smtp->setTextMessage($mail['content']); $smtp->setHtmlMessage($mail['content']); $smtp->addTo($mail['destination']); {~ else: ~} mail($mail['destination'], $mail['subject'], $mail['content']); {~ endif ~} header('Location: ' . $_SERVER['HTTP_REFERER']); }