#!/usr/bin/perl
use strict;
use URI;

die "Usage: $0 [<message file>]" unless 2 > @ARGV;

my $to = undef;
my %fields = ();
my $lastHeader = undef;

while (<>) {
    chomp;
    last if /^$/; #end of headers
    ($fields{$lastHeader} .= " $1"), next if (defined($lastHeader) && /^\s+(.*)/);
    die "Malformed header: $_" unless /([^\:]+)\:\s*(.*)/;
    my ($header, $value) = ($1, $2);
    ($lastHeader = undef), next unless $header =~ /to|cc|bcc|subject/i;
    $lastHeader = lc $header;
    $fields{$lastHeader} = $value; 
}

my $body = "";
while (<>) {
    $body .= $_;
}
$fields{'body'} = $body;

$fields{'to'} = 'submit@bugs.debian.org'; # force recipient until claws fixes a bug
    
die "Missing recipient" unless defined($fields{'to'});
my $url = URI->new("mailto:".$fields{'to'});
delete($fields{'to'});
$url->query_form(\%fields);
# print $url->as_string;
exec "claws-mail", "--compose", $url->as_string;
