diff options
Diffstat (limited to 'lib/Sietima.pm')
-rw-r--r-- | lib/Sietima.pm | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/Sietima.pm b/lib/Sietima.pm index df5de4e..81821e4 100644 --- a/lib/Sietima.pm +++ b/lib/Sietima.pm @@ -49,6 +49,12 @@ has transport => ( ); sub _build_transport { Email::Sender::Simple->default_transport } +sub handle_mail_from_stdin($self) { + my $mail_text = do { local $/; <> }; + my $incoming_mail = Email::MIME->new(\$mail_text); + return $self->handle_mail($incoming_mail); +} + sub handle_mail($self,$incoming_mail) { state $check = compile(Object,EmailMIME); $check->(@_); @@ -91,4 +97,26 @@ sub send_message($self,$outgoing_message) { sub _trait_namespace { 'Sietima::Role' } +sub command_line_spec($self) { + return { + name => 'sietima', + title => 'a simple mailing list manager', + options => [ + { + name => 'verbose', + summary => 'more chatty', + type => 'flag', + multiple => 1, + aliases => ['v'], + }, + ], + subcommands => { + send => { + op => 'handle_mail_from_stdin', + summary => 'send email from STDIN', + }, + }, + }; +} + 1; |