[Rt-commit] rt branch, 4.2-trunk, updated. rt-4.2.6-62-g1698512
Alex Vandiver
alexmv at bestpractical.com
Wed Aug 27 12:44:58 EDT 2014
The branch, 4.2-trunk has been updated
via 16985122b0386bdaee5fb5c02e0a0c905b770b65 (commit)
via 793ed75c05d46167097104f9711ec08f929f79ce (commit)
via 3ca5dc4a1cf59053df3270c935b02e1cbf70a763 (commit)
from a9407e7ffe7593a158dcbaa8b16a7631cbd0f467 (commit)
Summary of changes:
lib/RT/Interface/Email.pm | 9 ++++-----
t/mail/autogenerated.t | 22 ++++++++++++++++++++++
2 files changed, 26 insertions(+), 5 deletions(-)
create mode 100644 t/mail/autogenerated.t
- Log -----------------------------------------------------------------
commit 3ca5dc4a1cf59053df3270c935b02e1cbf70a763
Author: Thomas Sibley <trsibley at uw.edu>
Date: Mon Mar 24 10:35:44 2014 -0700
Detect auto-generated mail correctly when there are multiple Precedence headers
Example in the wild of multiple Precedence headers includes:
Precedence: never-bounce
Precedence: bulk
When $head->get() is called in scalar context, only the first value is
returned. Instead, return true if any of the multiple possible values
match.
diff --git a/lib/RT/Interface/Email.pm b/lib/RT/Interface/Email.pm
index facdb38..bcb78e1 100644
--- a/lib/RT/Interface/Email.pm
+++ b/lib/RT/Interface/Email.pm
@@ -171,8 +171,7 @@ fields of the head in tests.
sub CheckForAutoGenerated {
my $head = shift;
- my $Precedence = $head->get("Precedence") || "";
- if ( $Precedence =~ /^(bulk|junk)/i ) {
+ if (grep { /^(bulk|junk)/i } $head->get_all("Precedence")) {
return (1);
}
diff --git a/t/mail/autogenerated.t b/t/mail/autogenerated.t
new file mode 100644
index 0000000..a37c9b1
--- /dev/null
+++ b/t/mail/autogenerated.t
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+
+use RT::Test tests => undef;
+use Email::Abstract;
+
+my $msg = Email::Abstract->new(<<'MSG')->cast("MIME::Entity");
+From: somebody at example.com
+To: rt at example.com
+Precedence: never-bounce
+Precedence: bulk
+Subject: testing precedence
+
+I am bulk mail, hear me roar!
+MSG
+
+ok RT::Interface::Email::CheckForAutoGenerated($msg->head), "Is AutoGenerated";
+
+$msg->head->delete("Precedence", 1);
+ok !RT::Interface::Email::CheckForAutoGenerated($msg->head), "Isn't AutoGenerated";
+
+done_testing;
commit 793ed75c05d46167097104f9711ec08f929f79ce
Author: Thomas Sibley <trsibley at uw.edu>
Date: Mon Mar 24 14:14:58 2014 -0700
Correct documentation of CheckForAutoGenerated() to include all headers
diff --git a/lib/RT/Interface/Email.pm b/lib/RT/Interface/Email.pm
index bcb78e1..a83136d 100644
--- a/lib/RT/Interface/Email.pm
+++ b/lib/RT/Interface/Email.pm
@@ -162,9 +162,9 @@ sub CheckForSuspiciousSender {
=head2 CheckForAutoGenerated HEAD
-Takes a HEAD object of L<MIME::Head> class and returns true if message
-is autogenerated. Checks 'Precedence' and 'X-FC-Machinegenerated'
-fields of the head in tests.
+Takes a HEAD object of L<MIME::Head> class and returns true if message is
+autogenerated. Checks C<Precedence>, C<Auto-Submitted>, and
+C<X-FC-Machinegenerated> fields of the head in tests.
=cut
commit 16985122b0386bdaee5fb5c02e0a0c905b770b65
Merge: a9407e7 793ed75
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Wed Aug 27 12:18:57 2014 -0400
Merge 4.2/multiple-precedence into 4.2-trunk
-----------------------------------------------------------------------
More information about the rt-commit
mailing list