From 49d48015a8028699dd5d5dc79404a063402a75ea Mon Sep 17 00:00:00 2001 From: isUnknown Date: Tue, 28 Jan 2025 13:10:11 +0100 Subject: [PATCH] newsletter config try --- site/blueprints/pages/email.yml | 2 +- site/config/config.php | 13 ++++------ site/config/routes/send-newsletter.php | 26 ++++++++++++++----- .../src/components/SendButtonField.vue | 8 +++--- 4 files changed, 29 insertions(+), 20 deletions(-) diff --git a/site/blueprints/pages/email.yml b/site/blueprints/pages/email.yml index 3897d39..f3acc68 100644 --- a/site/blueprints/pages/email.yml +++ b/site/blueprints/pages/email.yml @@ -15,7 +15,7 @@ tabs: month: label: Mois type: date - display: "mmmm YYYY" + display: "MM/YYYY" default: today width: 1/4 sendBtn: diff --git a/site/config/config.php b/site/config/config.php index efdd9bd..35cddd0 100644 --- a/site/config/config.php +++ b/site/config/config.php @@ -8,15 +8,12 @@ return array( ), 'email' => [ 'transport' => [ - 'type' => 'smtp', - 'host' => 'smtp.outlook.com', - 'port' => 587, - 'security' => 'tls', - 'auth' => true, - 'username' => 'adrien.payet@outlook.com', - 'password' => 't8nVpxCpEZcqH8y' + 'type' => 'smtp', + 'host' => 'mail.infomaniak.com', + 'port' => 465, + 'security' => true ] - ], + ], 'routes' => array( require __DIR__ . '/routes/virtual-category.php', require __DIR__ . '/routes/send-newsletter.php', diff --git a/site/config/routes/send-newsletter.php b/site/config/routes/send-newsletter.php index 1e64ebd..f638f58 100644 --- a/site/config/routes/send-newsletter.php +++ b/site/config/routes/send-newsletter.php @@ -8,15 +8,27 @@ return [ $request = json_decode($jsonRequest); $kirby = kirby(); + + $emailPage = page($data->uri); + $content = $emailPage->content()->kt(); try { - $kirby->email([ - 'from' => "info@actuel-inactuel.fr", - 'to' => 'payet.adrien@protonmail.com', - 'subject' => 'actualités', - 'body' => 'Ceci est un test simple.', - ]); - return json_encode(['status' => 'success', 'message' => 'Email envoyé avec succès.']); + if ($kirby->email([ + 'from' => "info@actuel-inactuel.fr", + 'to' => page("inscription")->toStructure()->pluck("email"), + 'subject' => $data->subject, + 'body' => [ + "html" => $emailPage->content() + ], + ])->isSent()) { + return json_encode(['status' => 'success', 'message' => 'Email envoyé avec succès.']); + } else { + return json_encode([ + "status" => "error", + "message" => "Erreur lors de l'envoi de l'email.", + ]); + + } } catch (Exception $error) { return json_encode(['status' => 'error', 'message' => $error->getMessage()]); } diff --git a/site/plugins/send-button/src/components/SendButtonField.vue b/site/plugins/send-button/src/components/SendButtonField.vue index 6cbfd23..071a0ea 100755 --- a/site/plugins/send-button/src/components/SendButtonField.vue +++ b/site/plugins/send-button/src/components/SendButtonField.vue @@ -20,11 +20,11 @@ const headers = { }), }; -function send(event) { +async function send(event) { event.preventDefault(); - fetch("/send-newsletter.json", headers) - .then((res) => res.json()) - .then((json) => console.log(json)); + const response = await fetch("/send-newsletter.json", headers); + const data = await response.json(); + console.log(data); }