Upgrade to 4.2.2
[usit-rt.git] / lib / RT / Interface / Email.pm
index 444f842..7c1e126 100644 (file)
@@ -2,7 +2,7 @@
 #
 # COPYRIGHT:
 #
-# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC
 #                                          <sales@bestpractical.com>
 #
 # (Except where explicitly superseded by other copyright notices)
@@ -912,7 +912,7 @@ sub ParseCcAddressesFromHead {
     return
         grep $_ ne $current_address && !RT::EmailParser->IsRTAddress( $_ ),
         map lc $user->CanonicalizeEmailAddress( $_->address ),
-        map Email::Address->parse( $args{'Head'}->get( $_ ) ),
+        map RT::EmailParser->CleanupAddresses( Email::Address->parse( $args{'Head'}->get( $_ ) ) ),
         qw(To Cc);
 }
 
@@ -1765,8 +1765,9 @@ sub _RecordSendEmailFailure {
 
 =head2 ConvertHTMLToText HTML
 
-Takes HTML and converts it to plain text.  Appropriate for generating a plain
-text part from an HTML part of an email.
+Takes HTML and converts it to plain text.  Appropriate for generating a
+plain text part from an HTML part of an email.  Returns undef if
+conversion fails.
 
 =cut
 
@@ -1774,20 +1775,27 @@ sub ConvertHTMLToText {
     my $html = shift;
 
     require HTML::FormatText::WithLinks::AndTables;
-    return HTML::FormatText::WithLinks::AndTables->convert(
-        $html => {
-            leftmargin      => 0,
-            rightmargin     => 78,
-            no_rowspacing   => 1,
-            before_link     => '',
-            after_link      => ' (%l)',
-            footnote        => '',
-            skip_linked_urls => 1,
-            with_emphasis   => 0,
-        }
-    );
+    my $text;
+    eval {
+        $text = HTML::FormatText::WithLinks::AndTables->convert(
+            $html => {
+                leftmargin      => 0,
+                rightmargin     => 78,
+                no_rowspacing   => 1,
+                before_link     => '',
+                after_link      => ' (%l)',
+                footnote        => '',
+                skip_linked_urls => 1,
+                with_emphasis   => 0,
+            }
+        );
+        $text //= '';
+    };
+    $RT::Logger->error("Failed to downgrade HTML to plain text: $@") if $@;
+    return $text;
 }
 
+
 RT::Base->_ImportOverlays();
 
 1;