tengo un archivo llamado enviar.php:<?php
//CONFIGURACION
$direccion_envio='
[email protected]'; //la direccion a la que se enviara el email.
$url='http://www.miweb.com./contacto.html'; //la URL donde esta publicado el formulario. SIN la barra al final
//FIN CONFIGURACION
?>
<?php
//proceso del formulario
// si existe enviar...
if (isset ($_POST['enviar'])) {
//vamos a hacer uso de la clase phpmailer,
require("class.phpmailer.php");
$mail = new PHPMailer();
//recogemos las variables y configuramos PHPMailer
$mail->From = $_POST['email'];
$mail->FromName = $_POST['nombre'];
$mail->AddAddress($direccion_envio);
$mail->Subject = "Contacto desde el Formulario";
$mail->AddReplyTo($_POST['email'],$_POST['nombre']);
$mail->IsHTML(true);
$comentario=$_POST['comentario'];
//comprobamos si se adjunto un archivo, y si su tamano es menor al permitido
if (isset($_FILES['archivo']['tmp_name']) && ($_FILES['archivo']['tmp_name']!="") ) {
$aleatorio = rand();
$nuevonombre=$aleatorio.'-'.$_FILES['archivo']['name'];
// copiamos el archivo en el servidor
copy($_FILES['archivo']['tmp_name'],'archivos/'.$nuevonombre);
$conarchivo = "Su archivo ha sido adjuntado con éxito<br />";
}
//armamos el html
$contenido = '<html><body>';
$contenido .= '<h2>Contacto desde formulario</h2>';
$contenido .= '<p>Enviado el '.date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$_POST['nombre'].'</strong>';
$contenido .= '<p>Email: <strong>'.$_POST['email'].'</strong>';
if (isset($_FILES['archivo']['tmp_name'])) {
$contenido .= '<p>Archivo: <strong><a href="'.$url.'/archivos/'.$nuevonombre.'">'.$nuevonombre.'</a> (formato:'.$ext.' - '.$tamano.' bytes)</strong>';
}
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong>';
$contenido .= '<hr />';
$contenido .= '</body></html>';
$mail->Body = $contenido;
$mail->AddAttachment('archivos/'.$nuevonombre.'', $nuevonombre); // optional name
// enviamos el mail
$mail->Send();
$flag='ok';
$mensaje='<div id="ok">'.$conarchivo.'Gracias por Contactarnos</div>';
}
?>
otro archivo que tengo es el del propio formulario:<?php
//CONFIGURACION
$direccion_envio='
[email protected]'; //la direccion a la que se enviara el email.
$url='http://www.miweb.com./contactenos-v3.1'; //la URL donde esta publicado el formulario. SIN la barra al final
//FIN CONFIGURACION
?>
<?php
//proceso del formulario
// si existe enviar...
if (isset ($_POST['enviar'])) {
//vamos a hacer uso de la clase phpmailer,
require("archivos/class.phpmailer.php");
$mail = new PHPMailer();
//recogemos las variables y configuramos PHPMailer
$mail->From = $_POST['email'];
$mail->FromName = $_POST['nombre'];
$mail->AddAddress($direccion_envio);
$mail->Subject = "Contacto desde el Formulario";
$mail->AddReplyTo($_POST['email'],$_POST['nombre']);
$mail->IsHTML(true);
$comentario=$_POST['comentario'];
//comprobamos si se adjunto un archivo, y si su tamano es menor al permitido
if (isset($_FILES['archivo']['tmp_name']) && ($_FILES['archivo']['tmp_name']!="") ) {
$aleatorio = rand();
$nuevonombre=$aleatorio.'-'.$_FILES['archivo']['name'];
// copiamos el archivo en el servidor
copy($_FILES['archivo']['tmp_name'],'archivos/'.$nuevonombre);
$conarchivo = "Su archivo ha sido adjuntado con éxito<br />";
}
//armamos el html
$contenido = '<html><body>';
$contenido .= '<h2>Contacto desde formulario</h2>';
$contenido .= '<p>Enviado el '.date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$_POST['nombre'].'</strong>';
$contenido .= '<p>Email: <strong>'.$_POST['email'].'</strong>';
if (isset($_FILES['archivo']['tmp_name'])) {
$contenido .= '<p>Archivo: <strong><a href="'.$url.'/archivos/'.$nuevonombre.'">'.$nuevonombre.'</a> (formato:'.$ext.' - '.$tamano.' bytes)</strong>';
}
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong>';
$contenido .= '<hr />';
$contenido .= '</body></html>';
$mail->Body = $contenido;
$mail->AddAttachment('archivos/'.$nuevonombre.'', $nuevonombre); // optional name
// enviamos el mail
$mail->Send();
$flag='ok';
$mensaje='<div id="ok">'.$conarchivo.'Gracias por Contactarnos</div>';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Contactenos </title>
<style>
body {
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;
font-size: 76%;}
#form {
border: 3px double #eaeaea;
background-color: #FFF;
padding: 1em;
width: 30em;
margin: auto;}
#form h2{
font-size: 2em;
margin: 0 0 0.5em 0;
padding: 0;}
#form .campo {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.5em;}
#form .error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.5em;}
#form .com {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.5em;
width:18em;
height: 10em;
font: 1.5em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}
#form .com-error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.2em;
width:18em;
height: 10em;
font: 1.5em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}
#form .boton {
border: 2px solid #999;
padding: 0.3em;
font-size: 1.2em;
width: 4em;}
#error {
border: 1px dashed #F00;
background-color: #FFF;
padding: 5px;}
#ok {
border: 1px dashed #060;
background-color:#FFF;
padding: 5px;}
</style>
</head>
<body>
<div id="form">
<h2> Contacto </h2>
<?php echo $mensaje; /*mostramos el estado de envio del form */ ?>
<?php if ($flag!='ok') { ?>
<form action="<?php echo $PHP_SELF;?>" method="post" enctype="multipart/form-data">
<p>Nombre <br />
<input class="campo" type="text" name="nombre" /></p>
<p>Email <br />
<input type="text" name="email" class="campo" /></p>
<p>Subir Archivo<br />(Formatos permitidos: .todos) <br />
<input type="file" name="archivo" class="campo" /></p>
<p>Comentario <br />
<textarea name="comentario" class="com"></textarea></p>
<p><input class="boton" type="submit" name="enviar" value="enviar" /></p>
</form>
<?php } ?>