Blame demos/smtp.self

Packit bd23c0
#!perl
Packit bd23c0
Packit bd23c0
use 5.008001;
Packit bd23c0
Packit bd23c0
use strict;
Packit bd23c0
use warnings;
Packit bd23c0
Packit bd23c0
use blib;
Packit bd23c0
use Getopt::Long;
Packit bd23c0
use Net::SMTP;
Packit bd23c0
Packit bd23c0
=head1 NAME
Packit bd23c0
Packit bd23c0
    smtp.self - mail a message via smtp
Packit bd23c0
Packit bd23c0
=head1 DESCRIPTION
Packit bd23c0
Packit bd23c0
C<smtp.self> will attempt to send a message to a given user
Packit bd23c0
Packit bd23c0
=head1 OPTIONS
Packit bd23c0
Packit bd23c0
=over 4
Packit bd23c0
Packit bd23c0
=item -debug
Packit bd23c0
Packit bd23c0
Enabe the output of dubug information
Packit bd23c0
Packit bd23c0
=item -help
Packit bd23c0
Packit bd23c0
Display this help text and quit
Packit bd23c0
Packit bd23c0
=item -user USERNAME
Packit bd23c0
Packit bd23c0
Send the message to C<USERNAME>
Packit bd23c0
Packit bd23c0
=back
Packit bd23c0
Packit bd23c0
=head1 EXAMPLE
Packit bd23c0
Packit bd23c0
    demos/smtp.self  -user foo.bar
Packit bd23c0
Packit bd23c0
    demos/smtp.self -debug -user Graham.Barr
Packit bd23c0
Packit bd23c0
=cut
Packit bd23c0
Packit bd23c0
our $opt_debug = undef;
Packit bd23c0
our $opt_user = undef;
Packit bd23c0
our $opt_help = undef;
Packit bd23c0
GetOptions(qw(debug user=s help));
Packit bd23c0
exec("pod2text $0")
Packit bd23c0
    if defined $opt_help;
Packit bd23c0
Packit bd23c0
Net::SMTP->debug(1) if $opt_debug;
Packit bd23c0
Packit bd23c0
my $smtp = Net::SMTP->new("mailhost");
Packit bd23c0
Packit bd23c0
my $user = $opt_user || $ENV{USER} || $ENV{LOGNAME};
Packit bd23c0
Packit bd23c0
$smtp->mail($user) && $smtp->to($user);
Packit bd23c0
$smtp->reset;
Packit bd23c0
Packit bd23c0
if($smtp->mail($user) && $smtp->to($user))
Packit bd23c0
 {
Packit bd23c0
  $smtp->data();
Packit bd23c0
Packit bd23c0
  my @data;
Packit bd23c0
  map { s/-USER-/$user/g } @data=<DATA>; ## no critic (ControlStructures::ProhibitMutatingListFunctions)
Packit bd23c0
Packit bd23c0
  $smtp->datasend(@data);
Packit bd23c0
  $smtp->dataend;
Packit bd23c0
 }
Packit bd23c0
else
Packit bd23c0
 {
Packit bd23c0
  warn $smtp->message;
Packit bd23c0
 }
Packit bd23c0
Packit bd23c0
$smtp->quit;
Packit bd23c0
Packit bd23c0
__DATA__
Packit bd23c0
To: <-USER->
Packit bd23c0
Subject: A test message
Packit bd23c0
Packit bd23c0
The message was sent directly via SMTP using Net::SMTP
Packit bd23c0
.
Packit bd23c0
The message was sent directly via SMTP using Net::SMTP