summaryrefslogtreecommitdiff
path: root/fml
diff options
context:
space:
mode:
authorKen'ichi Fukamachi <fukachan@fml.org>2018-09-04 18:18:20 +0900
committerKen'ichi Fukamachi <fukachan@fml.org>2018-09-08 12:49:20 +0900
commite5d7fe139b3af2d5b3cfb47298808eb76ccf1e18 (patch)
tree2962844543e8d2632c155970bf45c7aad6067271 /fml
parent5601fb8fcf82e6f06c8961ef6bebcc7e9fb0cd07 (diff)
downloadfml8-e5d7fe139b3af2d5b3cfb47298808eb76ccf1e18.tar.gz
fml8-e5d7fe139b3af2d5b3cfb47298808eb76ccf1e18.tar.bz2
fml8-e5d7fe139b3af2d5b3cfb47298808eb76ccf1e18.zip
mime header decode/encode switched to use Mail::Message::Encode::Perl.
define new functions: mime_header_encode() and mime_header_decode().
Diffstat (limited to 'fml')
-rw-r--r--fml/lib/Mail/Message/String.pm60
1 files changed, 55 insertions, 5 deletions
diff --git a/fml/lib/Mail/Message/String.pm b/fml/lib/Mail/Message/String.pm
index 8afc049c..84cf6c3c 100644
--- a/fml/lib/Mail/Message/String.pm
+++ b/fml/lib/Mail/Message/String.pm
@@ -11,7 +11,7 @@ package Mail::Message::String;
use strict;
use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD $debug);
use Carp;
-
+use Mail::Message::Encode::Perl;
$debug = 0;
@@ -24,11 +24,11 @@ Mail::Message::String - base class of string used in message (header).
use Mail::Message::String $subject;
my $sbj = new Mail::Message::String $subject;
- $sbj->mime_decode(); # euc-jp
- $sbj->unfold();
+ $sbj->mime_header_decode();
+
... delte tag et.al. ...
- $sbj->unfold();
- $sbj->charcode_convert_to_external_charset(); # e.g. iso-2022-jp
+
+ $sbj->mime_header_encode();
$subject = $sbj->as_str();
=head1 DESCRIPTION
@@ -218,6 +218,56 @@ sub get_mime_charset
}
+=head2 mime_header_encode()
+
+encode the given Perl internal UTF8 format to
+the MIME Header string and return the encoded message.
+
+=head2 mime_header_decode()
+
+decode MIME Header string and return the decoded message
+as Perl internal UTF8 format.
+
+=cut
+
+# Descriptions: encode the given Perl internal UTF8 format to
+# the MIME Header string and return the encoded message.
+# Arguments: OBJ($self) STR($pif_str)
+# Side Effects: none
+# Return Value: STR
+sub mime_header_encode
+{
+ my ($self, $pif_str) = @_;
+ my $str = $self->as_str();
+
+ use Mail::Message::Encode::Perl;
+ my $encoder = new Mail::Message::Encode::Perl;
+ $str = $encoder->mime_header_encode($str);
+ $self->set($str);
+
+ return $str;
+}
+
+
+# Descriptions: decode MIME Header string and return the decoded message
+# as Perl internal UTF8 format.
+# Arguments: OBJ($self) STR($out_code) STR($in_code)
+# Side Effects: none
+# Return Value: STR(Perl Internal Format)
+sub mime_header_decode
+{
+ my ($self, $out_code, $in_code) = @_;
+ my $str = $self->as_str();
+
+ use Mail::Message::Encode::Perl;
+ my $encoder = new Mail::Message::Encode::Perl;
+ my $dec_pif_str = $encoder->mime_header_decode($str);
+ $self->set($dec_pif_str);
+
+ return $dec_pif_str;
+}
+
+
=head1 CHAR CODE CONVERSION UTILITIES
We need to identify internal and external char codes in fml8.