Jump to content

HTML email is not sending HTML


mdmartiny

Recommended Posts

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="sholburt@sc4.edu";
   #$to="mkewalt@sc4.edu";
   $to="patterns@sc4.edu";
   $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
Share on other sites

  • 3 weeks later...

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="sholburt@sc4.edu";
   #$to="mkewalt@sc4.edu";
   $to="patterns@sc4.edu";
   $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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.