sub format_mailbox(@){
my %params=@_;
my $path=$params{path} || error("path parameter mandatory");
- my $header_list=$params{headers} || "subject,from";
my $folder=Email::Folder->new($path) || error("mailbox could not be opened");
return join "\n", map { format_message(message=>$_) } $folder->messages;
my $message=$params{message} ||
error gettext("missing parameter"). "message";
+ my $keep_headers=$params{headers} || qr/^(subject|from|date)/i;
+
my $template=
template("email.tmpl") || error gettext("missing template");
- my @headers=map { make_pair($message,$_) }
- $message->header_names;
+ my @names = grep {m/$keep_headers/;} ($message->header_names);
+ my @headers=map { make_pair($message,$_) } @names;
+
$template->param(HEADERS=>[@headers]);
-
- $template->param(body=>escapeHTML($message->body));
+ $template->param(body=>format_body($message->body));
my $output=$template->output();
return $output;
}
+sub format_body($){
+ my $body=shift;
+
+ # it is not completely clear to me the right way to go here. some
+ # passing things straight to markdown is not working all that
+ # well.
+ return "<pre>".escapeHTML($body)."</pre>";
+}
### Utilities
# From Arpit Jain
<div class="mailmessage">
<div class="mailheaders">
<TMPL_LOOP NAME="HEADERS">
- <span class="headername">
- <TMPL_VAR NAME="HEADERNAME">
- </span>
+ <span class="headername"><TMPL_VAR NAME="HEADERNAME"></span>:
<span class="headerval">
<TMPL_VAR NAME="VAL">
</span>