* * Resources used to create this script * phMailer by Scott L. * an article on Sitepoint by Kevin Yank, (13 Feb 2003) Accessed on April 24, 2008 * "Advanced email in PHP" * and "PHP: Sending Email (Text/HTML/Attachments)" * * * one more: https://www.sebastiansulinski.co.uk/web_design_tutorials/php/php_file_upload.php * * This script is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This script is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * https://www.gnu.org/licenses/gpl.txt * */ // prints form function print_form(){ ?>

ALL FIELDS ARE REQUIRED












".$filename.""; // check the size of each file } elseif($filesize > $max_bytes) { $errors[]= "Your file: ".$filename." is to big. Max file size is ".$max_file_size."kb."; } } // if !empty FILES if (empty($errors)) { //If everything is OK // send an email // Obtain file upload vars $fileatt = $_FILES['attachment']['tmp_name']; $fileatt_type = $_FILES['attachment']['type']; $fileatt_name = $_FILES['attachment']['name']; // Headers $headers = "From: $emailfrom"; // create a boundary string. It must be unique $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // Add the headers for a file attachment $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; // Add a multipart boundary above the plain message $message ="This is a multi-part message in MIME format.\n\n"; $message.="--{$mime_boundary}\n"; $message.="Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $message.="Content-Transfer-Encoding: 7bit\n\n"; $message.="From: ".$firstname. " " .$lastname. "\n"; $message.="Company: ".$company."\n"; $message.="Position: ".$position."\n"; $message.="Years of Research Experience: ".$experience. "\n"; $message.="Research Areas: ".$researcharea."\n\n"; $message.="Number of Journal Publications: ".$jrnl_pub. "\n"; $message.="Number of Conference Publications: ".$conf_pub. "\n"; $message.="Web Address: ".$website. "\n"; if (is_uploaded_file($fileatt)) { // Read the file to be attached ('rb' = read binary) $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); // Base64 encode the file data $data = chunk_split(base64_encode($data)); // Add file attachment to the message $message .= "--{$mime_boundary}\n" . "Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; } // Send the completed message $envs = array("HTTP_USER_AGENT", "REMOTE_ADDR", "REMOTE_HOST"); foreach ($envs as $env) $message .= "$env: $_SERVER[$env]\n"; if(!mail($to,$subject,$message,$headers)) { exit("Mail could not be sent. Sorry! An error has occurred, please report this to the website administrator.\n"); } else { //echo "Position = " . $_SESSION['myForm']['position']; //echo "\n\nExperience = " . $_SESSION['myForm']['experience']; print ""; unset($_SESSION['myForm']); print_form(); } // end of if !mail } else { //report the errors echo '

Error!

The following error(s) has occurred:
'; foreach ($errors as $msg) { //prints each error echo " - $msg
\n"; } // end of foreach echo '

Please try again

'; print_form(); } //end of if(empty($errors)) } // end of process_form() ?>