From 688e3ac7b633a8aae86b30e90393c8c57b6ebb52 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Tue, 8 May 2007 05:51:18 +0000 Subject: [PATCH] Always use correct format for Message-Id headers in mail. --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Mail/Send.pm | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 81355b891..413352671 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -4,6 +4,7 @@ - fix: Uploads folder case-sensitive - fix: Creating and updating files in WebGUI creates multiple storage locations. - fix: Welcome messages shouldn't be added to inbox as pending. + - fix: Always use correct format for Message-Id headers in mail. 7.3.16 diff --git a/lib/WebGUI/Mail/Send.pm b/lib/WebGUI/Mail/Send.pm index c54ed4e41..6db951dc0 100644 --- a/lib/WebGUI/Mail/Send.pm +++ b/lib/WebGUI/Mail/Send.pm @@ -246,12 +246,17 @@ sub create { } my $from = $headers->{from} || $session->setting->get("companyEmail"); my $type = $headers->{contentType} || "multipart/mixed"; - my $domain = $from; - $domain =~ s/.*\@(.*)/$1/; - my $id = $headers->{messageId} || "WebGUI-".$session->id->generate; - unless ($id =~ m/\@/) { - $id .= '@'.$domain; - } + + # format of Message-Id should be '' + my $id = $headers->{messageId} || "WebGUI-" . $session->id->generate; + if ($id !~ m/\@/) { + my $domain = $from; + $domain =~ s/.*\@//msx; + $id .= '@' . $domain; + } + if ($id !~ m/[<>]/msx) { + $id = "<$id>"; + } my $message = MIME::Entity->build( Type=>$type, From=>$from,