diff options
| author | fukachan <fukachan> | 2002-12-09 14:01:20 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2002-12-09 14:01:20 +0000 |
| commit | a27ca2a6bd670723e9042c713a53cbf0e3e71b98 (patch) | |
| tree | 4b606f855d4bab4a186568da838a80a1f7d1fdb8 /cpan | |
| parent | 149aca52e911b103206ec14e45438965d6285e2d (diff) | |
| download | fml8-a27ca2a6bd670723e9042c713a53cbf0e3e71b98.tar.gz fml8-a27ca2a6bd670723e9042c713a53cbf0e3e71b98.tar.bz2 fml8-a27ca2a6bd670723e9042c713a53cbf0e3e71b98.zip | |
Initial revision
Diffstat (limited to 'cpan')
| -rw-r--r-- | cpan/dist/MailTools/Mail/Mailer/qmail.pm | 9 | ||||
| -rwxr-xr-x | cpan/dist/MailTools/examples/forwd_demo.PL | 61 | ||||
| -rwxr-xr-x | cpan/dist/MailTools/examples/rplyto_demo.PL | 39 | ||||
| -rwxr-xr-x | cpan/dist/MailTools/examples/send_demo.PL | 101 | ||||
| -rw-r--r-- | cpan/lib/Mail/Mailer/qmail.pm | 9 |
5 files changed, 219 insertions, 0 deletions
diff --git a/cpan/dist/MailTools/Mail/Mailer/qmail.pm b/cpan/dist/MailTools/Mail/Mailer/qmail.pm new file mode 100644 index 00000000..ea312606 --- /dev/null +++ b/cpan/dist/MailTools/Mail/Mailer/qmail.pm @@ -0,0 +1,9 @@ +package Mail::Mailer::qmail; +use vars qw(@ISA); +require Mail::Mailer::rfc822; +@ISA = qw(Mail::Mailer::rfc822); + +sub exec { + my($self, $exe, $args, $to) = @_; + exec(( $exe )); +} diff --git a/cpan/dist/MailTools/examples/forwd_demo.PL b/cpan/dist/MailTools/examples/forwd_demo.PL new file mode 100755 index 00000000..c4e964a1 --- /dev/null +++ b/cpan/dist/MailTools/examples/forwd_demo.PL @@ -0,0 +1,61 @@ +# This -*- perl -*- script makes the forwd_demo script +# $Id: forwd_demo.PL,v 1.2 1997/01/16 20:43:34 gbarr Exp $ + +use Config; +use Cwd; + +$script = "./forwd_demo"; +unlink($script); + +open MIR, ">$script" or die "open for writing $script: $!"; +print MIR $Config{'startperl'}," -w\n"; +$cwd = Cwd::getcwd(); +#print MIR "use lib qw($cwd/blib);\n"; +print MIR <DATA>; +chmod(0755, $script); + +__DATA__ +use Mail::Internet; + +@mail = <>; + +$mail = Mail::Internet->new(\@mail); + +$mail->remove_sig; +$mail->tidy_body; + +@reply = (); +if(open(HDR,"$ENV{HOME}/.mailhdr")) { + @reply = <HDR>; + close(HDR); +} + +$rply = Mail::Internet->new(\@reply); + +$subject = $mail->get('Subject'); + +$rply->replace('To', ""); +$rply->replace('Cc', ""); +$rply->replace('Subject',$subject); + +$rply->body($body = $mail->body); + +unshift @{$body},"---------- Begin Included Message ----------\n"; +push @{$body},"----------- End Included Message -----------\n"; + +$file = "/tmp/reply.$$"; + +open(FILE,">$file") || die "Cannot open $file:$!\n"; + +$rply->print(\*FILE); + +close(FILE); + +$editor = $ENV{"EDITOR"} || "/usr/bin/nvi"; + +warn "$editor :$!\n" if (system("$editor $file")); + +unlink($file,$file . '%'); + +exit 0; + diff --git a/cpan/dist/MailTools/examples/rplyto_demo.PL b/cpan/dist/MailTools/examples/rplyto_demo.PL new file mode 100755 index 00000000..6f343fa8 --- /dev/null +++ b/cpan/dist/MailTools/examples/rplyto_demo.PL @@ -0,0 +1,39 @@ +# This -*- perl -*- script makes the rplyto_demo script +# $Id: rplyto_demo.PL,v 1.2 1997/01/16 20:43:35 gbarr Exp $ + +$script = "./rplyto_demo"; + +use Config; +use Cwd; +unlink($script); +open MIR, ">$script" or die "open for writing $script: $!"; +print MIR $Config{'startperl'}," -w\n"; +$cwd = Cwd::getcwd(); +#print MIR "use lib qw($cwd/blib);\n"; +print MIR <DATA>; +chmod(0755, $script); + +__DATA__ +use Mail::Internet; + +$mail = Mail::Internet->new([<>]); +$rply = $mail->reply(Keep => [qw(Newsgroups)]); + +$file = "/tmp/reply.$$"; + +open(REPLY,">$file") || die "Cannot open $file:$!\n"; + +$rply->print(\*REPLY); + +close(REPLY); + +$editor = $ENV{"EDITOR"} || die "\$EDITOR not defined\n"; + +warn "$editor :$!\n" if (system("$editor $file")); + +# Cleanup +unlink($file,$file . '%',$file . '~'); + +exit 0; + + diff --git a/cpan/dist/MailTools/examples/send_demo.PL b/cpan/dist/MailTools/examples/send_demo.PL new file mode 100755 index 00000000..bdde1500 --- /dev/null +++ b/cpan/dist/MailTools/examples/send_demo.PL @@ -0,0 +1,101 @@ +# This -*- perl -*- script makes the send_demo script +# $Id: send_demo.PL,v 1.2 1997/01/16 20:43:35 gbarr Exp $ + +$script = "./send_demo"; + +use Config; +use Cwd; +unlink($script); +$cwd = Cwd::getcwd(); +open MIR, ">$script" or die "open for writing $script: $!"; +print MIR $Config{'startperl'}," -w\n"; +#print MIR "use lib qw($cwd/blib);\n"; +print MIR <DATA>; +chmod(0755, $script); + +__DATA__ +require Mail::Internet; +require Mail::Alias; +use Getopt::Long; + +sub expand_aliases +{ + my $mail = shift; + my $aliasfile = $ENV{HOME} . "/.mailrc"; + my($tag,$id); + + if( -f $aliasfile ) + { + my $alias = Mail::Alias::Binmail->new($aliasfile); + # Expand aliases + + foreach $tag (qw(To Cc Bcc)) + { + @ids = (); + foreach $id (Mail::Address->parse($mail->get($tag))) + { + my $addr = $id->address; + my @expn = $alias->expand($addr); + if(scalar(@expn) == 1) + { + $id->address($expn[0]); + push(@ids,$id->format); + } + else + { + push(@ids,@expn); + } + } + $mail->combine($tag,','); + $mail->replace($tag, join(", ", @ids)); + } + } +} + + +### +### Main program +### + +GetOptions(qw(post nosig v)); + +$opt_post = 1 if $0 =~ m#(\A|/)post\Z#; + +$verbose = defined $opt_v && $opt_v ? 1 : 0; +$posting = defined $opt_post && $opt_post ? 1 : 0; +$sign = defined $opt_nosig && $opt_nosig ? 0 : 1; + +$mail = Mail::Internet->new([ <> ]); + +expand_aliases($mail); + +$mail->add_signature if($sign); + +if($posting) + { + my @groups = $mail->nntppost(); + + if($verbose && @groups) + { + $groups = "Newsgroups: " . join(", ", @groups); + $groups =~ s/(.{10,78}),/$1\n/g if(length($groups) > 78); + print $groups,"\n"; + } + } +else + { + $mail->delete('Newsgroups'); + } + +@recp = $mail->smtpsend(); + +if($verbose && @recp) + { + $recp = "Recipients: " . join(", ", @recp); + $recp =~ s/(.{10,78}),/$1\n/g if(length($recp) > 78); + print $recp,"\n"; + } + +exit; + + diff --git a/cpan/lib/Mail/Mailer/qmail.pm b/cpan/lib/Mail/Mailer/qmail.pm new file mode 100644 index 00000000..ea312606 --- /dev/null +++ b/cpan/lib/Mail/Mailer/qmail.pm @@ -0,0 +1,9 @@ +package Mail::Mailer::qmail; +use vars qw(@ISA); +require Mail::Mailer::rfc822; +@ISA = qw(Mail::Mailer::rfc822); + +sub exec { + my($self, $exe, $args, $to) = @_; + exec(( $exe )); +} |
