#!/usr/bin/perl
# Parse from Bestilig errror nested messages subscribers address,
# nested mail message,
# when mail this

use warnings;
use strict;

use lib '../lib';
use Mail::Box::Manager;

sub collect_to($);

#
# Set arguments.
#

my $start_phrase = ' mottok ikke denne mailen ' . "\n";
my $m_to = 'markov@localhost';
my $m_subj = 'Bestilling av prospekt feilet ved mottak av mail ';

#
# Open the folder
#
my $mgr = Mail::Box::Manager->new(folderdir => 'f');

my $folder = $mgr->open
   ( folder => 'f',
   extract    => 'LAZY'   # never take the body unless needed
   );                       #  which saves memory and time.
die "Cannot open f: $!\n"
    unless defined $folder;
#
# List all messages in this folder.
#

my @messages = $folder->messages;
my $counter  = 1;
my $prev;
my $tto;
my $mybody;

sub collect_to($)
  {   my $part = shift;
      if(my $to = $part->head->get('To'))
      {   $tto = $to;
         $mybody=$part->body->string;
      }
      if($part->isMultipart) { collect_to($_) for $part->body->parts }
      elsif($part->isNested) { collect_to($part->body->nested) }

  }


foreach my $message (@messages)
{   printf "%3d. ", $counter++;
    printf $message->printStructure;
printf $message;
collect_to($message);
#  printf $tto, "\n";
  print $mybody;

   my $mbody = Mail::Message::Body->new
   ( mime_type => 'text/html'
   , charset => 'iso-8859-1'
   , data => $mybody
   );

   my $sent_mess = Mail::Message->build
    ( From    => 'me'
    , To      => $m_to
    , Subject => $m_subj
    , data => $tto . $start_phrase
    , attach => $mbody
    );
#$sent_mess->send;
}

$folder->close;
