Ver Mensaje Individual
  #3  
Antiguo 20-09-2006
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Reputación: 20
elcigarra Va por buen camino
Bueno, entendí. La próxima vez no escribiré tan apurado y tal vez me entiendan mejor. En realidad encontré lo ue quería en internet. Les paso el código para el que necesite hacer lo mismo. Solo tienen que ajustarlo a sus necesidades. El asunto será "Mandar un formulario por mail con un archivo adjunto"
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Envio de correo con un archivo adjunto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
   if ($_SERVER['REQUEST_METHOD']=="POST"){
   // we'll begin by assigning the To address and message subject
   // $to="nombredeldestinatario@correo.com";
      $to=$_POST['acorreo'];
   //$subject="E-mail with attachment";
     $subject=$_POST['asunto'];
   // 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']).">";
   // generate a random string to be used as the boundary marker
   $mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
   // store the file information to variables for easier access
   $tmp_name = $_FILES['filename']['tmp_name'];
   $type = $_FILES['filename']['type'];
   $name = $_FILES['filename']['name'];
   $size = $_FILES['filename']['size'];
   // here we'll hard code a text messge
   // again, in reality, you'll normally get this from the form submission
  // $message = "Here is your file: $name";
     $message = $_POST['mensaje'];
   // 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 build the message headers
      $headers = "From: $from\r\n" .
         "MIME-Version: 1.0\r\n" .
         "Content-Type: multipart/mixed;\r\n" .
         " boundary=\"{$mime_boundary}\"";
      // next, we'll build 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 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 and set another boundary to
      // indicate that the end of the file has been reached
      $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" .
         "--{$mime_boundary}--\n";
      // now we just send the message
      if (@mail($to, $subject, $message, $headers)) {

         echo "Correo enviado<br>";
         echo "<a href='http://pio9.com/22php.htm'>http://pio9.com/22php.htm</a><br>";
}
      else
         echo "Fallo en el envío";
     }
} else {
?>
<p><b><center>Envío de un correo con un archivo adjunto:</center></b></p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"
   enctype="multipart/form-data" name="form1">
   <p>Nombre del que envia..... <input type="text" name="fromname" size="25"></p>
   <p>Correo del que envia....... <input type="text" name="fromemail" size="25"></p>
   <p>Correo del destinatario.... <input type="text" name="acorreo" size="25"></p>
   <p>Asunto............................ <input type="text" name="asunto" size="25"></p>
   <p>Mensaje:  <textarea name="mensaje" cols="50" rows="5"></textarea></p>
   <p>Archivo a enviar: <input type="file" name="filename"></p>
   <p><input type="submit" name="Submit" value="Enviar"></p>
</form>
<?php } ?>
</body>
</html>
Responder Con Cita