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="[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

  • 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="[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 {
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.