Ummm...I'm running out of idea pretty quickly here - here are some things to 'try'...
First, check to make sure that $reportdir/$eachowner.mail contains what you want it to after the first part runs, but before the sendmail stuff. Also, I notice that you are appending to these files - '>>'. Are you doing some cleanup each time the program is run? Try adding -odq to then end of the sendmail command - this will queue the messages instead of sending immediately - not sure if this will do any good or not. Try turning off buffering : my $oldfh = select(SENDMAIL); $| = 1; > while (<MAILFILE>){ > print SENDMAIL $_; > } select($old_fh) Also, the line: > cc: myboss\@my I'd remove that while you try this stuff, and only put it back in when you're certain this thing works... :-) That's all I can think of - hopefully someone more experienced with such matters will pop up with the right answer soon... -RN loan tran <[EMAIL PROTECTED]> writes: > 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 -- 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]