#!/usr/bin/perl -w use strict; use Getopt::Long; use URI::Escape; # * This file is free software; you can redistribute it and/or modify it # * under the terms of the GNU General Public License as published by # * the Free Software Foundation; either version 3 of the License, or # * (at your option) any later version. # * # * This program is distributed in the hope that it will be useful, but # * WITHOUT ANY WARRANTY; without even the implied warranty of # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # * General Public License for more details. # * # * You should have received a copy of the GNU General Public License # * along with this program; if not, write to the Free Software # * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # * # * Copyright 2007 Paul Mangan # * # This script enables inserting files into the message body of a new Claws Mail # Compose window from the command line. Additionally To, Cc, Bcc, Subject and # files to attach to the message can be specified my (@inserts,@attachments,@lines,@output) = (); my $body = ""; my $attach_list = ""; my $to = ""; my $cc = ""; my $bcc = ""; my $subject = ""; my $help = ""; GetOptions("to=s" => \$to, "cc=s" => \$cc, "bcc=s" => \$bcc, "subject=s" => \$subject, "attach=s" => \@attachments, "insert=s" => \@inserts, "help|h" => \$help); if ($help) { help_me(); } @attachments = split(/,/, join(',', @attachments)); @inserts = split(/,/, join(',', @inserts)); foreach my $attach (@attachments) { $attach_list .= "$attach "; } foreach my $insert (@inserts) { open(FILE, "<$insert") || die("can't open file\n"); @lines = ; push(@output, @lines); close FILE; } foreach my $line (@output) { $body .= "$line"; } $to = uri_escape($to); $cc = uri_escape($cc); $bcc = uri_escape($bcc); $subject = uri_escape($subject); $body = uri_escape($body); system("claws-mail --compose \"mailto:$to?subject=$subject&cc=$cc&bcc=$bcc&body=$body\" --attach $attach_list"); exit; sub help_me { print<<'EOH'; Usage: claws-mail-compose-insert-files.pl [options] Options: --help -h --to "Person One " --cc "Person One " --bcc "Person One " --subject "My subject" --attach FILE --insert FILE For multiple recipients separate the addresses with ',' e.g. --to "Person One ,Person Two " --attach and --insert can be used multiple times EOH exit; }