diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-10-17 14:44:00 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-10-17 14:44:00 -0700 |
commit | 3d4cedda1dabe29c2c24888a30e62472cfea8b35 (patch) | |
tree | fd66347482cee9caa4bfed36b0c90746cd49390c /FS/FS/Misc.pm | |
parent | c07b79440c6f6763c7c76c8d107c7f32d80e302e (diff) |
fix MIME::Entity usage for perl 5.18+, RT#77890
Diffstat (limited to 'FS/FS/Misc.pm')
-rw-r--r-- | FS/FS/Misc.pm | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/FS/FS/Misc.pm b/FS/FS/Misc.pm index a2d1b3e..4d9d57b 100644 --- a/FS/FS/Misc.pm +++ b/FS/FS/Misc.pm @@ -157,7 +157,10 @@ sub send_email { unshift @mimeparts, { 'Type' => ( $options{'content-type'} || 'text/plain' ), 'Charset' => 'UTF-8', - 'Data' => $options{'body'}, + 'Data' => ( $options{'content-type'} =~ /^text\// + ? Encode::encode_utf8( $options{'body'} ) + : $options{'body'} + ), 'Encoding' => ( $options{'content-type'} ? '-SUGGEST' : '7bit' ), 'Disposition' => 'inline', }; @@ -166,7 +169,10 @@ sub send_email { @mimeargs = ( 'Type' => ( $options{'content-type'} || 'text/plain' ), - 'Data' => $options{'body'}, + 'Data' => ( $options{'content-type'} =~ /^text\// + ? Encode::encode_utf8( $options{'body'} ) + : $options{'body'} + ), 'Encoding' => ( $options{'content-type'} ? '-SUGGEST' : '7bit' ), 'Charset' => 'UTF-8', ); @@ -377,7 +383,7 @@ sub generate_email { 'Encoding' => 'quoted-printable', 'Charset' => 'UTF-8', #'Encoding' => '7bit', - 'Data' => $data, + 'Data' => Encode::encode_utf8($data), 'Disposition' => 'inline', ); @@ -398,7 +404,7 @@ sub generate_email { ' </title>', ' </head>', ' <body bgcolor="#ffffff">', - @html_data, + ( map Encode::encode_utf8($_), @html_data ), ' </body>', '</html>', ], |