Robin et all,

I've tried what you recommended but still face the
same problem, some of my receivers do not receive full
message. I cannot figure out why.

Here is new code. (note that @ownerlist has 25
elements)

# 
foreach $eachowner(@ownerlist){
      $sql_ownwhat = qq(select sybaseServer, dbName
from DatabaseOwner where email_test = "$eachowner");
     
&sybase_connect("FCCDEV01W",'aigdb',"$sql_ownwhat");

#combine all files that belong to each owner to one
file.

while($ownwhatdata = $sth->fetchrow_hashref){
         
  `cat
$reportdir/$ownwhatdata->{sybaseServer}..$ownwhatdata->{dbName}.users
>> $reportdir/$eachowner.mail`;
}#end while
$sth->finish;

#now start send mail

open (MAILFILE,"$reportdir/$eachowner.mail") or die
"Can not open ! $!";
open(SENDMAIL, "|/usr/lib/sendmail -oi -t") or die
"Cannot fork for send mail: $! \n";
print SENDMAIL<<"EOF";
From: ltran\@my
To: you\@yourhost
cc: myboss\@my
Subject: Report

Howdy,
I'm sending you bla bla.... 
EOF
     while (<MAILFILE>){
        print SENDMAIL $_;
     }
close MAILFILE;
close(SENDMAIL) or warn "sendmail dinnot close
nicely";
}#end foreach


--- Robin Norwood <[EMAIL PROTECTED]> wrote:
> loan tran <[EMAIL PROTECTED]> writes:
> 
> > Howdy,
> > 
> > 1. Can a variable store a text file with 40000+
> bytes
> > in size?
> 
> I am under the impression that a scalar can be as
> big as you need.  I
> *suspect* that the problem lies in limitations on
> the size of an <<EOF
> document - but someone more knowledgable will have
> to answer that
> part.
> 
> > 2. How can I cc or send a message to 2 persons at
> the
> > same time using sendmail?
> 
> A comma-seperated list, or Cc: - -
> To: addr\@host.com, addr2\@host2.org
> Cc: rdda\@toast.com
> 
> > 3. Could someone please suggest a better way than
> mine
> > to send a content of a text file using sendmail. 
> 
> I believe the 'canonical' way is:
> 
> open(INPUT, '$reportdir/$eachowner.txt') or die
> "Danger!  $!";
> 
> > Below is part of my script. The problem is if my
> > message is big ($eachowner.txt is over 40000
> bytes)
> > a receiver does not get the whole message.  
> 
> #...don't use this...
> > $mail_message = `cat $reportdir/$eachowner.txt`;
> > &sendownermail($eachowner,$mail_message);
> #...back to your code...
> 
> 
> > sub sendownermail{
> > my $to        = $_[0];
> > my $mail_message = $_[1];
> > open(SENDMAIL, "|/usr/lib/sendmail -oi -t") or die
> > "Cannot fork for send mail: $! \n";
> > print SENDMAIL<<"EOF";
> > From: [EMAIL PROTECTED]
> > To: $to\@yourhost.com
> > Subject: db Report
> > 
> > EOF
> 
> #...get rid of this part... -V
> > 
> > $mail_message
> > 
> > EOF
> #...and use this instead... -V
> 
> while (<INPUT>) {
>   print SENDMAIL $_;
> }
> 
> close(INPUT);
> 
> > close(SENDMAIL) or warn "sendmail dinnot close
> > nicely";
> > }# end sendownermail
> 
> This way, no more than one line of <INPUT> is in
> memory at one time.
> 
> -RN
> 
> -- 
> 
> Robin Norwood
> Red Hat, Inc.
> 
> "The Sage does nothing, yet nothing remains undone."
> -Lao Tzu, Te Tao Ching
> 
> -- 
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 


__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to