hola volvoreta
mira yo recientemente e tenido la necesidad de enviar archivos por correo y buscando buscando encontre este codigo el cual modifique para que se pudiera enviar mas de un campo, y al final te redireccionara a un sitio especifico cuando se envia, esto ultimo lo tome de tu post en la construccion de un formulario por cierto gracias jeje
te coloco el codigo, el campo correo destinatario lo puedes quitar si decides ponerle una direccion fija al cual deseas que te lleguen los correos que te envian.
A estuve viendo la parte de enviar con copia a otro destinatario pero no lo logre :cry: si tu sabes me ayudas si porfa jeje
cualquier pregunta tamos a la orden te dejo con el codigo
salu
<!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"){
// Aca defino el correo fijo donde deseo me lleguen los correos es este
//caso omito llenar el campo correo del destinatario
$to="[correo eliminado]";
// si lo que deseo es que el usuario decida a donde mandar sus correo
//habilito la siguiente opcion
// $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";
// Aca coloco todos los campos adicionales del formulario
$mensaje="Mensaje1: ".$mensaje."\n
Mensaje 2: ".$mensajeuno."\n
Mensaje 3: ".$mensajedos."\n
Mensaje 4: ".$mensajetres."\n
Mensaje 5: ".$mensajecuatro."\n";
$message = stripslashes($mensaje);
// Si solo deseo colocar el campo mensaje al estilo de los clientes de
//correo desabilito lo anterior y habilito la siguiente opcion
// $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
";
// Esta es la parte que te copie jeje gracias
echo "<meta HTTP-EQUIV='refresh' content='1;url=
http://www.comocreartuweb.com/phpBB2/ftopic4538.html'>";
}
else
echo "Fallo en el envío";
}
} else {
?>
<center>Envío de un correo con un archivo adjunto:</center></p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"
enctype="multipart/form-data" name="form1">
Nombre del que envia..... <input type="text" name="fromname" size="25"></p>
Correo del que envia....... <input type="text" name="fromemail" size="25"></p>
Correo del destinatario.... <input type="text" name="acorreo" size="25"></p>
Asunto............................ <input type="text" name="asunto" size="25"></p>
Mensaje: <textarea name="mensaje" cols="50" rows="5"></textarea></p>
Mensaje uno: <textarea name="mensajeuno" cols="50" rows="5"></textarea></p>
Mensaje dos: <textarea name="mensajedos" cols="50" rows="5"></textarea></p>
Mensaje tres: <textarea name="mensajetres" cols="50" rows="5"></textarea></p>
Mensaje cuatro: <textarea name="mensajecuatro" cols="50" rows="5"></textarea></p>
Archivo a enviar: <input type="file" name="filename"></p>
<input type="submit" name="Submit" value="Enviar"></p>
</form>
<?php } ?>
</body>
</html>