mdmartiny Posted February 15, 2011 Share Posted February 15, 2011 This is a script that someone wrote that used to work were I now work.... I have been trying to figure out how to send it HTML. It currently is sending it as text. Everything that I have tried does not work. I would appreciate any help that can be given to me <?php require_once('../Connections/Local.php'); if ($_SERVER['REQUEST_METHOD']=="POST"){ // we'll begin by assigning the To address and message subject #$to="[email protected]"; #$to="[email protected]"; $to="[email protected]"; $subject="Patterns Writing Entry 2010-11"; // get the sender's name and email address // we'll just plug them a variable to be used later $from = stripslashes($_POST['fromname'])."<".stripslashes($_POST['fromemail']).">"; $title=$_POST['title']; $category=$_POST['category']; $honourific=$_POST['honourific']; $student_name=$_POST['fromname']; $student_number=$_POST['student_number']; $mailing=$_POST['mailing']; $home_address=$_POST['home_address']; $telephone=$_POST['telephone']; $email=$_POST['fromemail']; // generate a random string to be used as the boundary marker $mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x"; // now we'll build the message headers $headers = "From: $from\r\n" . "MIME-Version: 1.0\r\n" . "Content-Type: multipart/mixed;\r\n" . " boundary=\"{$mime_boundary}\""; // here, we'll start the message body. // this is the text that will be displayed // in the e-mail $message="Title: " . $title . "\r\n"; $message.="\r\n"; $message .="Category: " . $category . "\r\n"; $message.="\r\n"; $message .="Name: " . $honourific . " " . $student_name . "\r\n"; $message.="\r\n"; $message .="Student number: " . $student_number . "\r\n"; $message.="\r\n"; $message .="Mailing address: " . $mailing . "\r\n"; $message.="\r\n"; $message .="Home address: " . $home_address . "\r\n"; $message.="\r\n"; $message .="Telephone: " . $telephone . "\r\n"; $message.="\r\n"; $message .="e-mail: " . $email; // next, we'll build the invisible portion of the message body // note that we insert two dashes in front of the MIME boundary // when we use it $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; // now we'll process our uploaded files foreach($_FILES as $userfile){ // store the file information to variables for easier access $tmp_name = $userfile['tmp_name']; $type = $userfile['type']; $name = $userfile['name']; $size = $userfile['size']; // if the upload succeded, the file will exist if (file_exists($tmp_name)){ // check to make sure that it is an uploaded file and not a system file if(is_uploaded_file($tmp_name)){ //Enter all the date into the database for Shawn $title=addslashes($title); $student_name=addslashes($student_name); $query = "INSERT INTO patterns (title, category, honourific, student_name, student_number, mailing, home_address, telephone, email, file_name) VALUES('$title', '$category', '$honourific', '$student_name', '$student_number', '$mailing', '$home_address', '$telephone', '$email', '$name')"; $rs = mysql_query($query) or die(mysql_error()); mysql_close(); // open the file for a binary read $file = fopen($tmp_name,'rb'); // read the file content into a variable $data = fread($file,filesize($tmp_name)); // close the file fclose($file); // now we encode it and split it into acceptable length lines $data = chunk_split(base64_encode($data)); } // now we'll insert a boundary to indicate we're starting the attachment // we have to specify the content type, file name, and disposition as // an attachment, then add the file content. // NOTE: we don't set another boundary to indicate that the end of the // file has been reached here. we only want one boundary between each file // we'll add the final one after the loop finishes. $message .= "--{$mime_boundary}\n" . "Content-Type: {$type};\n" . " name=\"{$name}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; } } // here's our closing mime boundary that indicates the last of the message $message.="--{$mime_boundary}--\n"; // now we just send the message if (@mail($to, $subject, $message, $headers)) echo "<div id='success' align='center'>Your entry has been successfully submitted. <br /><br /><a href='http://www.sc4.edu'>Click here</a> to return to SC4 home page.<br /> <a href='http://www.sc4.edu/patterns/PatternsEntryForm.php'>Click here</a> to submit another entry. </div>"; else echo "Failed to send"; } else { ?> Link to comment https://forums.phpfreaks.com/topic/227703-html-email-is-not-sending-html/ Share on other sites More sharing options...
rx3mer Posted March 3, 2011 Share Posted March 3, 2011 Try this.. I didn`t have time to test it <?php require_once('../Connections/Local.php'); if ($_SERVER['REQUEST_METHOD']=="POST"){ // we'll begin by assigning the To address and message subject #$to="[email protected]"; #$to="[email protected]"; $to="[email protected]"; $subject="Patterns Writing Entry 2010-11"; // get the sender's name and email address // we'll just plug them a variable to be used later $from = stripslashes($_POST['fromname'])."<".stripslashes($_POST['fromemail']).">"; $title=$_POST['title']; $category=$_POST['category']; $honourific=$_POST['honourific']; $student_name=$_POST['fromname']; $student_number=$_POST['student_number']; $mailing=$_POST['mailing']; $home_address=$_POST['home_address']; $telephone=$_POST['telephone']; $email=$_POST['fromemail']; // generate a random string to be used as the boundary marker $mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x"; // now we'll build the message headers $headers = "From: $from\r\n" . "MIME-Version: 1.0\r\n" . "Content-Type: multipart/mixed;\r\n" . " boundary=\"{$mime_boundary}\""; // here, we'll start the message body. // this is the text that will be displayed // in the e-mail $message= "Title: " . $title . "\r\n"; $message.= "\r\n"; $message.= "Category: " . $category . "\r\n"; $message.= "\r\n"; $message.= "Name: " . $honourific . " " . $student_name . "\r\n"; $message.= "\r\n"; $message.= "Student number: " . $student_number . "\r\n"; $message.= "\r\n"; $message.= "Mailing address: " . $mailing . "\r\n"; $message.= "\r\n"; $message.= "Home address: " . $home_address . "\r\n"; $message.= "\r\n"; $message.= "Telephone: " . $telephone . "\r\n"; $message.= "\r\n"; $message.= "e-mail: " . $email; // next, we'll build the invisible portion of the message body // note that we insert two dashes in front of the MIME boundary // when we use it $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; // now we'll process our uploaded files foreach($_FILES as $userfile){ // store the file information to variables for easier access $tmp_name = $userfile['tmp_name']; $type = $userfile['type']; $name = $userfile['name']; $size = $userfile['size']; // if the upload succeded, the file will exist if (file_exists($tmp_name)){ // check to make sure that it is an uploaded file and not a system file if(is_uploaded_file($tmp_name)){ //Enter all the date into the database for Shawn $title=addslashes($title); $student_name=addslashes($student_name); $query = "INSERT INTO patterns (title, category, honourific, student_name, student_number, mailing, home_address, telephone, email, file_name) VALUES('$title', '$category', '$honourific', '$student_name', '$student_number', '$mailing', '$home_address', '$telephone', '$email', '$name')"; $rs = mysql_query($query) or die(mysql_error()); mysql_close(); // open the file for a binary read $file = fopen($tmp_name,'rb'); // read the file content into a variable $data = fread($file,filesize($tmp_name)); // close the file fclose($file); // now we encode it and split it into acceptable length lines $data = chunk_split(base64_encode($data)); } // now we'll insert a boundary to indicate we're starting the attachment // we have to specify the content type, file name, and disposition as // an attachment, then add the file content. // NOTE: we don't set another boundary to indicate that the end of the // file has been reached here. we only want one boundary between each file // we'll add the final one after the loop finishes. $message .= "--{$mime_boundary}\n" . "Content-Type: {$type};\n" . " name=\"{$name}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; } } // here's our closing mime boundary that indicates the last of the message $message.="--{$mime_boundary}--\n"; // now we just send the message if (@mail($to, $subject, $message, $headers)) echo "<div id='success' align='center'>Your entry has been successfully submitted. <br /><br /><a href='http://www.sc4.edu'>Click here</a> to return to SC4 home page.<br /> <a href='http://www.sc4.edu/patterns/PatternsEntryForm.php'>Click here</a> to submit another entry. </div>"; else echo "Failed to send"; } else { ?> Link to comment https://forums.phpfreaks.com/topic/227703-html-email-is-not-sending-html/#findComment-1182454 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.