I'm getting this error:

        malformed header from script.  Bad header=EHLO stanislaw

if I turn off use strict, I get the error
        
        Premature end of script headers


my code is posted below, and it runs all the way through because it sends the 
email - and the email has 

The error codes dont have line numbers with them, so Im not sure where to 
look.   Any help??

here is my code. Its purpose is to take information from a form and email it 
to someone...try not to laugh at it
______________________________________________________________

#!/usr/bin/perl -w
use strict;
use CGI;
use XML::Twig;
use Date::Calc qw( System_Clock );
use SendMail;



#---path stuff - you need to set these to values appropriate to your system
my $pathToAssignNum = "/usr/local/httpd/htdocs/summer/xml/assignNum.txt";
my $pathToReport_xml = "/usr/local/httpd/htdocs/summer/xml/report.xml";
my $genWorkReport_URL = "http://somehostname.edu/cgi-bin/genWorkReport.cgi";;



my $query = new CGI;

#---setup SendMail
my $sm = new SendMail();
$sm->setDebug($sm->ON);
$sm->To( "Jeremy Webster <jwebster\@olemiss.edu>" );
$sm->Subject("Work Order");

my $email = $query->param('email');
$sm->From($email);
$sm->ReplyTo($email);


my $assignName  = $query->param('assName');     #pull in some values from the a/v 
form
my $description = $query->param('description');
#convert newline chars to <br> so it displays nice on webpage
my $eol = chr(13).chr(10);  #CR/LF
if($description =~ m/$eol/){
        $description=~s/$eol/<br \/>/g;
}

my $commissioner = $query->param('commissioners');
if ($commissioner eq "Other") {$commissioner = $query->param('otherComish');}
my $acctExec    = $query->param('AcctExec');

my $ddlMonth    = $query->param('ddlMonth');
my $ddlDay      = $query->param('ddlDay');
my $ddlYear     = $query->param('ddlYear');
my $ddlDeadline = $ddlMonth." ".$ddlDay.", ".$ddlYear;

my $aeMonth     = $query->param('aeMonth');
my $aeDay       = $query->param('aeDay');
my $aeYear      = $query->param('aeYear');
my $aeDeadline  = $aeMonth." ".$aeDay.", ".$aeYear;

my $ihMonth     = $query->param('ihMonth');
my $ihDay       = $query->param('ihDay');
my $ihYear      = $query->param('ihYear');
my $ihDeadline  = $ihMonth." ".$ihDay.", ".$ihYear;

my $dimensions  = $query->param('dim');
my $pageCount   = $query->param('PageCount');
my $quantity    = $query->param('Quantity');
my $sides       = $query->param('sides');
my $colorSpecs  = $query->param('colorSpec');
my $dicut       = $query->param('Dicut');
my $binding     = $query->param('BindingSelect');
my $art         = $query->param('artSelect');
my $laminate    = $query->param('LaminSelect');

my $paper       = $query->param('Paper');
my $otherPaper  = $query->param('otherPaper');
if($paper eq "Other") {$paper = $otherPaper;}

my $envelopes   = $query->param('Envelopes');

my $special     = "";
$special        = $query->param('special');
if($special =~ m/$eol/){
        $special=~s/$eol/<br \/>/g;
}

my $artist      = $query->param('artFrom');
my $newGuy      = $query->param('otherName');

my @people = $query->param('per');
my $seeList ="";
my $person ="";;
foreach $person(@people){
        if($person eq "otherPer"){
                $seeList .= $newGuy;
        }else{
                $seeList .= $person.", ";
        }
}


my ($year,$month, $day, $hour, $min, $sec, $doy, $dst);
($year, $month, $day, $hour, $min, $sec, $doy, $dst) = System_Clock();
my $date = $month."/".$day."/".$year;
my $time = $hour.":".$min.":".$sec;



#check to make sure fields are filled in properly
unless($email){
        print $query->header;
        print "Please fill in the Email field and try again";
        die "No email entered";
}

unless($assignName){
        print $query->header;
        print "Please fill in the Assignment Name field and try again";
        die "No name entered";
}

unless($description){
        print $query->header;
        print "Please fill in the description field and try again";
        die "No description entered";
}

unless($acctExec){
        print $query->header;
        print "Please fill in a value for the Account Executive and try again";
        die "No account executive entered";
}

unless($dimensions){
        print $query->header;
        print "Please fill in values for the dimensions of the project and try 
again";
        die "No dimensions entered";
}

unless($dicut){
        print $query->header;
        print "you forgot to choose a value for Dicut.  Please return to form and 
choose yes or no";
        die "No dicut entered";
}

unless($pageCount){
        print $query->header;
        print "you forgot to specify the Page Count. Please return to form and try 
again";
        die "No page Count entered";
}

unless($quantity){
        print $query->header;
        print "you forgot to specify the quantity.  Please return to form try again";
        die "No quantity entered";
}

unless($sides){
        print $query->header;
        print "you forgot to specify the number of sides.  Please return to form try 
again";
        die "No quantity entered";
}

unless($paper){
        print $query->header;
        print "you forgot to specify the type of paper.  Please return to form try 
again";
        die "No quantity entered";
}

unless($envelopes) { $envelopes=""; }

unless($artist){
        print $query->header;
        print "you forgot to specify the artist.  Please return to form try again";
        die "No quantity entered";
}

#read current assignment number
open(assignFile, "<".$pathToAssignNum) or die("couldnt open assignNum.txt");
flock(assignFile, 2);
seek( assignFile, 0, 0);
my $number;
while(<assignFile>){
        chomp;
        $number = $_;
}
close(assignFile);
$number++;

my $assNumber = substr($year,2,2)."-".$number;

#write new assignment number
open(assignFile, ">".$pathToAssignNum) or die ("couldnt open assignNum.txt");
flock(assignFile, 2);
print assignFile $number;
close(assignFile);

open(File, "<".$pathToReport_xml) or die("couldnt open report.xml");
flock(File, 2);
seek(File, 0,0);
my @text = <File>;
close(File);

open(oFile, ">".$pathToReport_xml);
flock(oFile, 2);
my $line;
foreach $line (@text){
                chomp($line);
                if( $line eq "</report>" ){
                        print oFile "\t<order>\n";
                        print oFile "\t\t<orderDate>".$date."</orderDate>\n";
                        print oFile "\t\t<assignNum>".$assNumber."</assignNum>\n";
                        print oFile "\t\t<assignName>".$assignName."</assignName>\n";
                        print oFile "\t\t<comish>".$commissioner."</comish>\n";
                        print oFile "\t\t<acctExec>".$acctExec."</acctExec>\n";
                        print oFile "\t\t<aeDeadline>".$aeDeadline."</aeDeadline>\n";
                        print oFile "\t\t<status>D</status>\n";
                        print oFile "\t\t<compDate>-</compDate>\n";
                        print oFile "\t</order>\n";
                }
                print oFile "$line\n";
}
close(oFile);

#start assembling messages
#date is first

$date = "Date: ".$date."\n";
$time = "Time: ".$time."\n";


#here is where I use the SendMail module and send it the prepared strings
#***************************************************************************

my($mailbody) = <<EndOfMess;
Content-type: text/html


The following work has been requested.

Thanks.


Requestor's Email: $email

$date
$time
Assignment name: $assignName
Assignment #: $assNumber
Description:
$description
Commissioner: $commissioner
Account Executive: $acctExec
_____________________________________________________________
Deadlines
Delivery to Location: $ddlDeadline
Delivery to Account Exec: $aeDeadline
In House Delivery: $ihDeadline
______________________________________________________________
Description
Dimensions: $dimensions
Page Count: $pageCount
Quantity: $quantity
Sides: $sides
Color Specification: $colorSpecs
Dicut: $dicut
Binding: $binding
Photography/Artwork: $art
Lamination: $laminate
Paper: $paper
Envelopes: $envelopes
Special Instructions:
$special
______________________________________________________________
Personel
Artist: $artist
Needs to see: $seeList

Thanks

EndOfMess

$sm->setMailBody($mailbody);
if ($sm->sendMail() != 0){
        printError($sm->{'error'});
        die "screwy";
}


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

Reply via email to