TalkPHP
 
 
Account Login
Latest Articles
» The basic usage of PHPTAL, a XML/XHTML template library for PHP
» Vulnerable methods and the areas they are commonly trusted in.
» Simple way to protect a form from bot
» The Basics On: How Session Stealing Works
» How to keep your forms from double posting data
IRC Channel
IRC Speech Bubble Join the friendly bunch on IRC...
(#TalkPHP on Freenode)

...Also available via a web interface.

See this thread for information on the TalkPHP Free Hugs Initiative™. Subject to availability.
Associates
Associates
CSS Tutorials
Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old 11-24-2008, 10:56 PM   #1 (permalink)
The Visitor
 
Join Date: Sep 2008
Posts: 3
Thanks: 0
hhstables is on a distinguished road
Default email with attachments

I got this work with my server however I need this to work with smtp mail what change do I need to make?

php Code:
if ($_SERVER['REQUEST_METHOD']=="POST"){

   // we'll begin by assigning the To address and message subject
   $to = "hhstables@hhstables.com";
   $from = "Info Curb Your Pouch <info@docsidehealthiesthound.com>";
   $subject = "Application Curb Your Pouch";
   
     // get the sender's name and email address
   // we'll just plug them a variable to be used later
  $Name = stripslashes($_POST["Name"]);
  $Address = stripslashes($_POST["Address"]);
  $City = stripslashes($_POST["City"]);
  $State = stripslashes($_POST["State"]);
  $Zip = stripslashes($_POST["Zip"]);
  $Phone = stripslashes($_POST["Phone"]);
  $Cell = stripslashes($_POST["Cell"]);
  $Fax = stripslashes($_POST["Fax"]);
  $Email = stripslashes($_POST["Email"]);

  $DogsName = stripslashes($_POST["DogsName"]);
  $DogsAge = stripslashes($_POST["DogsAge"]);
  $Breed = stripslashes($_POST["Breed"]);
  $DogsWeight = stripslashes($_POST["DogsWeight"]);
  $DogsSex = stripslashes($_POST["DogsSex"]);
  $SpayedNeutered = stripslashes($_POST["SpayedNeutered"]);

  $Medications = stripslashes($_POST["Medications"]);
  $Diet = stripslashes($_POST["Diet"]);
  $Exercise = stripslashes($_POST["Exercise"]);
  $Story = stripslashes($_POST["Story"]);

  $Diabetes = stripslashes($_POST["Diabetes"]);
  $KidneyLiver = stripslashes($_POST["KidneyLiver"]);
  $FoodAllergies = stripslashes($_POST["FoodAllergies"]);
  $HeartDisease = stripslashes($_POST["HeartDisease"]);
  $Other = stripslashes($_POST["Other"]);
 
  $entrant = sprintf("Please Enter Us Into the Healthiest Hound Contest: %s\n\nName: %s\n\nAddress: %s %s\n\nPhone:%s\n\nCell Phone: %s\n\nEmail: %s\n",
    $Name, $Address, $City, $State, $Zip, $Phone, $Cell, $Email);

  $hound = sprintf("Description of Hound to Be Entered:\nName: %s, Age: %s, Breed: %s, Weight: %s, Sex: %s, Spayed/Neutered: %s\n\n\n",
    $DogsName, $DogsAge, $Breed, $DogsWeight, $DogsSex, $SpayedNeutered);
           
  $details = sprintf("Medications:\n\n%s\n\nDiet:\n\n%s\n\nExercise: %s\n\nStory: %s\n\n\n",
    $Medications, $Diet, $Exercise, $Story);

  $ailments = sprintf("Diabetes: %s\n\nKidney/Liver Disease: %s\n\nFood Allergies: %s\n\nHeart Disease: %s\n\nOther: %s\n\n",
    $Diabetes, $KidneyLiver, $FoodAllergies, $HeartDisease, $Other);

  $body1 = sprintf("%s\n%s\n%s\n%s\n",
    $entrant, $hound, $details, $ailments);
   
  $body2 = sprintf("Thank You For Applying to Our Curb Your Pouch Contest\nWe will get back with you in several working days\nHere is the info you sent us.  Thanks Again!!\n\n%s", $body1);


     // 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 .= "Bcc: [email]hhstables@hhstables.com[/email]";
   $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= "$body2";

   // 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)){
    
            // 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 "Message Sent";
   else
      echo "Failed to send";
} else {
}

Last edited by Wildhoney : 11-24-2008 at 11:30 PM.
Send a message via AIM to hhstables Send a message via Yahoo to hhstables
hhstables is offline  
Reply With Quote
Old 11-25-2008, 04:44 AM   #2 (permalink)
The Contributor
 
awuehr's Avatar
 
Join Date: Oct 2008
Location: Nuremberg, Germany
Posts: 26
Thanks: 3
awuehr is on a distinguished road
Default

Well, as you use the php function mail(), the only way you can configure the mta is via the corresponding settings in your php.ini, I think.

I know 2 great frameworks for sending e-mails in php. The first one is Zend_Mail.

A more complex and more functional framework is Swift Mailer. As I said - it's quite complicated but it offers you nearly every functionality (i. E. embedding images, load balancing, speed throttling) and is designed for mass e-mails.



Alex
__________________
Send a message via ICQ to awuehr Send a message via Skype™ to awuehr
awuehr is offline  
Reply With Quote
Old 11-25-2008, 07:48 PM   #3 (permalink)
The Visitor
 
Join Date: Sep 2008
Posts: 3
Thanks: 0
hhstables is on a distinguished road
Default

I have tried the swift mailer and can not get it to work for me. However I have not tried Zend Mail I'm going to give it a try thanks.
Send a message via AIM to hhstables Send a message via Yahoo to hhstables
hhstables is offline  
Reply With Quote
Old 12-03-2008, 04:59 PM   #4 (permalink)
The Addict
 
sarmenhb's Avatar
 
Join Date: Jan 2008
Location: los angeles
Posts: 309
Thanks: 44
sarmenhb is on a distinguished road
Default

regarding all those stripslashes you have, what you can do is have an external file called functions and have a function like this


function secure($value) {

return mysql_real_escape_string(addslashes(trim($value))) ;

}

and for every field you want to escape symbols you just do secure($_POST['something']);

much cleaner :)
__________________
no signature set
sarmenhb is offline  
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 08:15 AM.

 
     

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Inactive Reminders By Icora Web Design