diff options
| author | fukachan <fukachan> | 2001-02-11 06:02:19 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-02-11 06:02:19 +0000 |
| commit | 711a36f6e697fe76e532d54b8264337e7fe0d5b1 (patch) | |
| tree | 4ddc242f08679ab0bd7c2f2a3dcf2ebe53b4677f /fml | |
| parent | f483cf2ffd18c5793ea9eeaeba0da7c4a72d8c28 (diff) | |
| download | fml8-711a36f6e697fe76e532d54b8264337e7fe0d5b1.tar.gz fml8-711a36f6e697fe76e532d54b8264337e7fe0d5b1.tar.bz2 fml8-711a36f6e697fe76e532d54b8264337e7fe0d5b1.zip | |
define build_mime_header()
_print_message_on_disk() print out $msg->{ header }
Diffstat (limited to 'fml')
| -rw-r--r-- | fml/lib/MailingList/Messages.pm | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/fml/lib/MailingList/Messages.pm b/fml/lib/MailingList/Messages.pm index fe1afe6c..ab475ac1 100644 --- a/fml/lib/MailingList/Messages.pm +++ b/fml/lib/MailingList/Messages.pm @@ -234,6 +234,7 @@ sub _create elsif (defined $filename) { if (-f $filename) { undef $self->{ content }; + $self->{ header } = build_mime_header($self, $args); $self->{ filename } = $filename; $self->{ _on_memory } = 0; # not on memory } @@ -379,15 +380,21 @@ sub _print_messsage_on_disk # \n -> \r\n my $raw_print_mode = 1 if defined $self->{ _raw_print }; - - my $filename = $self->{ filename }; + my $header = $self->{ header } || undef; + my $filename = $self->{ filename } || undef; my $logfp = $self->{ _log_function }; $logfp = ref($logfp) eq 'CODE' ? $logfp : undef; - # open he file + # 1. print content header if exists + if (defined $header) { + $header =~ s/\n/\r\n/g unless (defined $raw_print_mode); + print $fd $header; + print $fd ($raw_print_mode ? "\n" : "\r\n"); + } + + # 2. print content body: write each line in buffer use FileHandle; my $fh = new FileHandle $filename; - if (defined $fh) { my $buf; @@ -591,6 +598,24 @@ sub _get_mime_header } +sub build_mime_header +{ + my ($self, $args) = @_; + my $buf; + my $content_type = $args->{ content_type }; + my $charset = $args->{ charset } || 'us-ascii'; + + $buf .= "Content-Type: $content_type" if defined $content_type; + $buf .= ";\n\tcharset=$charset" if $charset; + + # use File::Basename; + # my $fn = basename($args->{ filename } || ''); + # $buf .= ";\n\tfilename=\"$fn\"" if $fn; + + return ($buf ? $buf."\n" : undef); +} + + # XXX $buf contains no MIME boundary, acutual message itself: # {Content-Type: ... # |
