Net::SMTP?
Matthew J Long
matt.long at matthew-long.com
Tue Jul 24 15:34:29 CDT 2001
>From the example I provided, just do this:
------------------------------------------------
use Mail::Sendmail;
my $multiLineMessage =<<END_MSG;
Jim, we have problems. The boxes in question are:
box1
box2
END_MSG
%mail = ( To => 'you at there.com',
Smtp => 'your.smtp.server',
From => 'me at here.com',
Message => $multiLineMessage );
sendmail(%mail) or die $Mail::Sendmail::error;
print "OK. Log says:\n", $Mail::Sendmail::log;
---------------------------------------------------
-Matt
----- Original Message -----
From: "Robert L. Harris" <Robert.L.Harris at rdlg.net>
To: "Matthew J Long" <matt.long at matthew-long.com>
Cc: "Robert L. Harris" <Robert.L.Harris at rdlg.net>; "Pikes-Peak Perl Mongers"
<pikes-peak-pm-list at happyfunball.pm.org>
Sent: Tuesday, July 24, 2001 1:26 PM
Subject: Re: Net::SMTP?
>
>
> How would you handle a multi-line message? Soemthing like:
>
> Jim, we have problems. The boxes in question are:
> box1
> box2
>
> etc.
>
> Thus spake Matthew J Long (matt.long at matthew-long.com):
>
> > I'm not completely sure I understand what all you are trying to do. If
it's
> > sending a message you want to do, use Mail::Sendmail instead. It will
also
> > support attachments.
> >
> > >From the Mail::Sendmail perldoc:
> >
> > ----------------------------------------------
> >
> > NAME
> > Mail::Sendmail v. 0.78 - Simple platform independent mailer
> >
> > SYNOPSIS
> > use Mail::Sendmail;
> >
> > %mail = ( To => 'you at there.com',
> > Smtp => 'your.smtp.server',
> > From => 'me at here.com',
> > Message => "This is a very short message"
> > );
> >
> > sendmail(%mail) or die $Mail::Sendmail::error;
> >
> > print "OK. Log says:\n", $Mail::Sendmail::log;
> >
> > -----------------------------------------------------
> > the Smtp field is only necessary if you're not using localhost.
> >
> > Good luck.
> >
> > -Matt
> >
> > ----- Original Message -----
> > From: "Robert L. Harris" <Robert.L.Harris at rdlg.net>
> > To: "Pikes-Peak Perl Mongers" <pikes-peak-pm-list at happyfunball.pm.org>
> > Sent: Tuesday, July 24, 2001 12:51 PM
> > Subject: Net::SMTP?
> >
> >
> > >
> > >
> > > I'm trying to use Net::SMTP and I'm not getting any output. Here's a
> > > chunk of code:
> > >
> > >
> > > #!/usr/local/bin/perl -w
> > >
> > > use strict;
> > > use diagnostics;
> > > use Net::SMTP;
> > >
> > > #
> > > # Do some data gathering
> > > #
> > > .
> > > .
> > > .
> > > #
> > >
> > >
> > > if (@Down) {
> > > &SendMailNotification(@Down);
> > > }
> > >
> > > exit 0;
> > >
> > > ########################
> > > # Sub Procs below here #
> > > ########################
> > > sub SendMailNotification {
> > > my (@Down)=@_;
> > > my ($Hostname)=`hostname`;
> > > my ($MailSubject)="GonzoProblems on $Hostname";
> > > my ($MailTo)="robert\@rdlg.net";
> > > my ($i);
> > >
> > > print "We had a problem so we'll send mail.\n";
> > >
> > > $smtp = Net::SMTP->new('mailgw2.rdlg.net.');
> > >
> > > $smtp->mail('GonzoChecker\@$Hostname');
> > > $smtp->to('robert at rdlg.net');
> > >
> > > $smtp->data();
> > > $smtp->datasend("Subject: GonzoProblems on $Hostname\n");
> > > $smtp->datasend("\n");
> > > $smtp->datasend("Could not connect to:\n");
> > > foreach $i (@Down) {
> > > $smtp->datasend("$i\n");
> > > }
> > > $smtp->dataend();
> > >
> > > $smtp->quit;
> > >
> > > # open (SENDMAIL, "| /usr/bin/mailx -v -s \"$MailSubject\" $MailTo");
> > > #
> > > # print "Could not connect to:\n";
> > > # print SENDMAIL "Could not connect to:\n";
> > > # foreach $i (@Down) {
> > > # print " $i\n";
> > > # print SENDMAIL " $i\n";
> > > # }
> > > # close(SENDMAIL);
> > > }
> > >
> > > If I comment out the $smtp portion, and uncomment the other, it works
just
> > > fine.
> > >
> > >
> > > :wq!
> >
> --------------------------------------------------------------------------
> > -
> > > Robert L. Harris | Micros~1 :
> > > Senior System Engineer | For when quality, reliability
> > > at RnD Consulting | and security just aren't
> > > \_ that important!
> > > DISCLAIMER:
> > > These are MY OPINIONS ALONE. I speak for no-one else.
> > > FYI:
> > > perl -e 'print
> > $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
> > >
>
>
>
> :wq!
> --------------------------------------------------------------------------
-
> Robert L. Harris | Micros~1 :
> Senior System Engineer | For when quality, reliability
> at RnD Consulting | and security just aren't
> \_ that important!
> DISCLAIMER:
> These are MY OPINIONS ALONE. I speak for no-one else.
> FYI:
> perl -e 'print
$i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
>
More information about the Pikes-peak-pm
mailing list