* [pmg-devel] [PATCH pmg-api v2] trim Message-ID when parsing E-mail
@ 2025-04-23 8:45 Hannes Duerr
2025-04-28 12:26 ` [pmg-devel] applied: " Stoiko Ivanov
0 siblings, 1 reply; 2+ messages in thread
From: Hannes Duerr @ 2025-04-23 8:45 UTC (permalink / raw)
To: pmg-devel
when we currently parse emails we do not remove trailing newlines from
the message-id. The consequence of this is that if you use the rule
system macro __MSGID__, there is also a newline at the end of the
string. This in turn leads to problems if you create a rule and want to
add something after the message ID.
One use case for this is if you want to remove or change the domain from
the MSGID for privacy reasons
Signed-off-by: Hannes Duerr <h.duerr@proxmox.com>
---
src/PMG/MailQueue.pm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/PMG/MailQueue.pm b/src/PMG/MailQueue.pm
index 4e37cb9..eda4037 100644
--- a/src/PMG/MailQueue.pm
+++ b/src/PMG/MailQueue.pm
@@ -4,6 +4,7 @@ use strict;
use warnings;
use PVE::SafeSyslog;
+use PVE::Tools qw (trim);
use MIME::Parser;
use IO::File;
use Encode;
@@ -394,7 +395,7 @@ sub parse_mail {
PMG::MIMEUtils::fixup_multipart($entity);
if ((my $idcount = $entity->head->count ('Message-Id')) > 0) {
- $self->msgid ($entity->head->get ('Message-Id', $idcount - 1));
+ $self->msgid(trim($entity->head->get ('Message-Id', $idcount - 1)));
}
# fixme: add parse_time to statistic database
--
2.39.5
_______________________________________________
pmg-devel mailing list
pmg-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pmg-devel] applied: [PATCH pmg-api v2] trim Message-ID when parsing E-mail
2025-04-23 8:45 [pmg-devel] [PATCH pmg-api v2] trim Message-ID when parsing E-mail Hannes Duerr
@ 2025-04-28 12:26 ` Stoiko Ivanov
0 siblings, 0 replies; 2+ messages in thread
From: Stoiko Ivanov @ 2025-04-28 12:26 UTC (permalink / raw)
To: Hannes Duerr; +Cc: pmg-devel
Thanks for the quick iteration on this!
applied the patch with the following small fixups:
adapted the commit-message to include a reference to MIME::Head saying
that the newlines can remain after get
removed 2 more spaces before method-invocation
On Wed, 23 Apr 2025 10:45:49 +0200
Hannes Duerr <h.duerr@proxmox.com> wrote:
> when we currently parse emails we do not remove trailing newlines from
> the message-id. The consequence of this is that if you use the rule
> system macro __MSGID__, there is also a newline at the end of the
> string. This in turn leads to problems if you create a rule and want to
> add something after the message ID.
> One use case for this is if you want to remove or change the domain from
> the MSGID for privacy reasons
>
> Signed-off-by: Hannes Duerr <h.duerr@proxmox.com>
> ---
> src/PMG/MailQueue.pm | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/PMG/MailQueue.pm b/src/PMG/MailQueue.pm
> index 4e37cb9..eda4037 100644
> --- a/src/PMG/MailQueue.pm
> +++ b/src/PMG/MailQueue.pm
> @@ -4,6 +4,7 @@ use strict;
> use warnings;
>
> use PVE::SafeSyslog;
> +use PVE::Tools qw (trim);
> use MIME::Parser;
> use IO::File;
> use Encode;
> @@ -394,7 +395,7 @@ sub parse_mail {
> PMG::MIMEUtils::fixup_multipart($entity);
>
> if ((my $idcount = $entity->head->count ('Message-Id')) > 0) {
> - $self->msgid ($entity->head->get ('Message-Id', $idcount - 1));
> + $self->msgid(trim($entity->head->get ('Message-Id', $idcount - 1)));
> }
>
> # fixme: add parse_time to statistic database
_______________________________________________
pmg-devel mailing list
pmg-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-04-28 12:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-23 8:45 [pmg-devel] [PATCH pmg-api v2] trim Message-ID when parsing E-mail Hannes Duerr
2025-04-28 12:26 ` [pmg-devel] applied: " Stoiko Ivanov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal