home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-perl-addon-1.4.9-installer.exe / Send.pm < prev    next >
Encoding:
Perl POD Document  |  2004-03-24  |  2.4 KB  |  115 lines

  1.  
  2. package Mail::Send;
  3.  
  4. # $Id: //depot/MailTools/Mail/Send.pm#6 $
  5.  
  6. use strict;
  7. use Carp;
  8. use vars qw($VERSION);
  9. require Mail::Mailer;
  10.  
  11. $VERSION = "1.62";
  12.  
  13. sub Version { $VERSION }
  14.  
  15. sub new {
  16.     my $pkg = shift;
  17.     my %attr = @_;
  18.     my($key, $value);
  19.     my $me = bless {}, $pkg;
  20.     while( ($key, $value) = each %attr ) {
  21.     $key = lc($key);
  22.     $me->$key($value);
  23.     }
  24.     $me;
  25. }
  26.  
  27. sub set {
  28.     my($me, $hdr, @values) = @_;
  29.     $me->{$hdr} = [ @values ] if @values;
  30.     @{$me->{$hdr} || []};    # return new (or original) values
  31. }
  32.  
  33. sub add {
  34.     my($me, $hdr, @values) = @_;
  35.     $me->{$hdr} = [] unless $me->{$hdr};
  36.     push(@{$me->{$hdr}}, @values);
  37. }
  38.  
  39. sub delete {
  40.     my($me, $hdr) = @_;
  41.     delete $me->{$hdr};
  42. }
  43.  
  44. sub to        { my $me=shift; $me->set('To', @_); }
  45. sub cc        { my $me=shift; $me->set('Cc', @_); }
  46. sub bcc        { my $me=shift; $me->set('Bcc', @_); }
  47. sub subject    { my $me=shift; $me->set('Subject', join (' ', @_)); }
  48.  
  49.  
  50. sub open {
  51.     my $me = shift;
  52.     Mail::Mailer->new(@_)->open($me);
  53. }
  54.  
  55. 1;
  56.  
  57. __END__
  58.  
  59. =head1 NAME
  60.  
  61. Mail::Send - Simple electronic mail interface
  62.  
  63. =head1 SYNOPSIS
  64.  
  65.     require Mail::Send;
  66.  
  67.     $msg = new Mail::Send;
  68.  
  69.     $msg = new Mail::Send Subject=>'example subject', To=>'timbo';
  70.  
  71.     $msg->to('user@host');
  72.     $msg->subject('example subject');
  73.     $msg->cc('user@host');
  74.     $msg->bcc('someone@else');
  75.  
  76.     $msg->set($header, @values);
  77.     $msg->add($header, @values);
  78.     $msg->delete($header);
  79.  
  80.     # Launch mailer and set headers. The filehandle returned
  81.     # by open() is an instance of the Mail::Mailer class.
  82.     # Arguments to the open() method are passed to the Mail::Mailer
  83.     # constructor.
  84.  
  85.     $fh = $msg->open;               # some default mailer
  86.     # $fh = $msg->open('sendmail'); # explicit
  87.  
  88.     print $fh "Body of message";
  89.  
  90.     $fh->close;         # complete the message and send it
  91.  
  92.     $fh->cancel;        # not yet implemented
  93.  
  94. =head1 DESCRIPTION
  95.  
  96. =head1 SEE ALSO
  97.  
  98. Mail::Mailer
  99.  
  100. =head1 AUTHORS
  101.  
  102. Maintained by Mark Overmeer <mailtools@overmeer.net>
  103.  
  104. Original code written by Tim Bunce E<lt>F<Tim.Bunce@ig.co.uk>E<gt>,
  105. with a kick start from Graham Barr E<lt>F<gbarr@pobox.com>E<gt>. With
  106. contributions by Gerard Hickey E<lt>F<hickey@ctron.com>E<gt>
  107.  
  108. Copyright (c) 2002-2003 Mark Overmeer. All rights
  109. reserved. This program is free software; you can redistribute it and/or
  110. modify it under the same terms as Perl itself.
  111.  
  112. =cut
  113.  
  114.  
  115.