class app_form { var $subject; var $path; var $files; var $headers; var $message; var $eol; function app_form($subject = "Application From Website") { $this->to = "andy@burkecom.com"; $this->from = "Application@burkecom.com"; $this->path = "C:\\Inetpub\\vhosts\\jahlaw.com\\httpdocs\\uploads\\"; $this->subject = $subject; if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $this->eol="\r\n"; } elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $this->eol="\r"; } else { $this->eol="\n"; } $valid = $this->process_form(); die("finished"); } function process_form() { foreach($_POST as $element=>$value ) { if( trim($value) != "" ) { $array[$element] = $value; } } foreach($_FILES as $element=>$value ) { if (is_uploaded_file($_FILES[$element]['tmp_name'])) { $file = fopen($_FILES[$element]['tmp_name'],'rb'); $this->files[$element]['name'] = $_FILES[$element]['name']; $this->files[$element]['type'] = $_FILES[$element]['type']; $this->files[$element]['size'] = filesize($_FILES[$element]['tmp_name']); $this->files[$element]['data'] = fread($file,filesize($_FILES[$element]['tmp_name'])); $this->files[$element]['data'] = chunk_split(base64_encode($this->files[$element]['data'])); fclose($file); } } $mime = $this->makeHeaders(); $this->makeMessage($mime_boundary); echo $this->headers; $ok = mail($this->to, $this->subject, $this->message, $this->headers); if ($ok) { echo "
Mail sent! Yay PHP!
"; } else { echo "Mail could not be sent. Sorry!
"; } }// end process form function makeMessage($mime_boundary) { foreach( $this->files as $element=>$value ) { $message .= "--".$mime_boundary.$this->eol; $message .= "Content-Type: ".$this->files[$element]['type']."; name=\"".$this->files[$element]['name']."\"".$this->eol; // sometimes i have to send MS Word, use 'msword' instead of 'pdf' $message .= "Content-Transfer-Encoding: base64".$this->eol; $message .= "Content-Disposition: attachment; filename=\"".$this->files[$element]['name']."\"".$this->eol.$this->eol; // !! This line needs TWO end of lines !! IMPORTANT !! $message .= $this->files[$element]['data'].$this->eol.$this->eol; # Setup for text OR html $message .= "Content-Type: multipart/alternative".$this->eol; } # Text Version $message .= "--".$mime_boundary.$this->eol; $message .= "Content-Type: text/plain; charset=iso-8859-1".$this->eol; $message .= "Content-Transfer-Encoding: 8bit".$this->eol; $message .= "This is a multi-part message in MIME format.".$this->eol; $message .= "If you are reading this, please update your email-reading-software.".$this->eol; $message .= "+ + Text Only Email from Genius Jon + +".$this->eol.$this->eol; # HTML Version $message .= "--".$mime_boundary.$this->eol; $message .= "Content-Type: text/html; charset=iso-8859-1".$this->eol; $message .= "Content-Transfer-Encoding: 8bit".$this->eol; $message .= "+ + Text Only Email from Genius Jon + +".$this->eol.$this->eol; $msg .= "--".$mime_boundary."--".$this->eol.$this->eol; $this->message = $message; } function makeHeaders() { $headers .= 'From: John