From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 7E0621FF161 for ; Tue, 8 Oct 2024 13:17:39 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 159C214323; Tue, 8 Oct 2024 13:18:05 +0200 (CEST) From: Christoph Heiss To: pmg-devel@lists.proxmox.com Date: Tue, 8 Oct 2024 13:17:52 +0200 Message-ID: <20241008111753.831405-3-c.heiss@proxmox.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20241008111753.831405-1-c.heiss@proxmox.com> References: <20241008111753.831405-1-c.heiss@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.471 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% CONTENT_AFTER_HTML 1 More content after HTML close tag + other spam signs DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com, plain.tt, quarantine.pm, conf.in, backup-notification.tt, html.tt] Subject: [pmg-devel] [PATCH pmg-api v3 2/3] fix #4211: convert quarantine link mail to template X-BeenThere: pmg-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Mail Gateway development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pmg-devel-bounces@lists.proxmox.com Sender: "pmg-devel" Fixes #4211 [0] by converting the currently hardcoded text for the quarantine link mail to a proper template, enabling users to write their own versions. Pretty straight-forward change. The overall content/wording is kept pretty much for the plain-text version, the HTML variant is adapted from that as needed. [0] https://bugzilla.proxmox.com/show_bug.cgi?id=4211 Signed-off-by: Christoph Heiss --- Changes v1 -> v2: * adapted to new finalize_report() changes * added plain-text template Changes v2 -> v3: * adapted to finalize_report() changes src/Makefile | 2 ++ src/PMG/API2/Quarantine.pm | 22 ++++++++++------------ src/templates/quarantine-link.html.tt | 13 +++++++++++++ src/templates/quarantine-link.plain.tt | 5 +++++ 4 files changed, 30 insertions(+), 12 deletions(-) create mode 100644 src/templates/quarantine-link.html.tt create mode 100644 src/templates/quarantine-link.plain.tt diff --git a/src/Makefile b/src/Makefile index 8e49a10..c602378 100644 --- a/src/Makefile +++ b/src/Makefile @@ -44,6 +44,8 @@ TEMPLATES = \ postgresql.conf.in \ pg_hba.conf.in \ backup-notification.tt \ + quarantine-link.html.tt \ + quarantine-link.plain.tt \ TEMPLATES_FILES = $(addprefix templates/, ${TEMPLATES}) diff --git a/src/PMG/API2/Quarantine.pm b/src/PMG/API2/Quarantine.pm index 9301da9..058180c 100644 --- a/src/PMG/API2/Quarantine.pm +++ b/src/PMG/API2/Quarantine.pm @@ -1235,18 +1235,16 @@ my sub send_link_mail { my $esc_ticket = uri_escape($ticket); my $link = "$protocol_fqdn_port/quarantine?ticket=${esc_ticket}"; - my $text = "Here is your Link for the Spam Quarantine on $fqdn:\n\n$link\n"; - - my $mail = MIME::Entity->build( - Type => "text/plain", - To => $receiver, - From => $mailfrom, - Subject => "Proxmox Mail Gateway - Quarantine Link", - Data => $text, - ); - - # we use an empty envelope sender (we don't want to receive NDRs) - PMG::Utils::reinject_local_mail ($mail, '', [$receiver], undef, $fqdn); + my $tt = PMG::Config::get_template_toolkit(); + my $vars = { + fqdn => $fqdn, + link => $link, + }; + + PMG::Utils::finalize_report($tt, $vars, $mailfrom, $receiver, { + html => 'quarantine-link.html.tt', + plain => 'quarantine-link.plain.tt', + }); } __PACKAGE__->register_method ({ diff --git a/src/templates/quarantine-link.html.tt b/src/templates/quarantine-link.html.tt new file mode 100644 index 0000000..d6fd17e --- /dev/null +++ b/src/templates/quarantine-link.html.tt @@ -0,0 +1,13 @@ +[%- SET title = "Proxmox Mail Gateway - Quarantine Link" -%] + + + [% title %] + + +

+ Here is your link for the spam quarantine on [% fqdn %]: Spam quarantine +

+ +

Powered by Proxmox.

+ + diff --git a/src/templates/quarantine-link.plain.tt b/src/templates/quarantine-link.plain.tt new file mode 100644 index 0000000..98517a3 --- /dev/null +++ b/src/templates/quarantine-link.plain.tt @@ -0,0 +1,5 @@ +Here is your link for the spam quarantine on [% fqdn %]: + +[% link %] + +Powered by http://www.proxmox.com -- 2.46.0 _______________________________________________ pmg-devel mailing list pmg-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel