Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2007, 11:30
sambora
 
Fecha de Ingreso: abril-2007
Mensajes: 66
Antigüedad: 17 años, 1 mes
Puntos: 0
Ayuda!!!! Adjuntar Archivo En Mail Php

Hola,

estoy intentando envíar un formulario por email, pero necesito enviar
también un fichero que incluyo en ese formulario. Estoy utilizando la
clase phpmailer para enviar el email, todos los campos del formulario se
enviar correctamente, pero no el archivo.

Aquí os pongo el código por si alguien me puede echar una mano... he
estado buscando por internet pero el código parece estar correcto:


<?
$error="";
$enviar = $_POST['enviar'];
if ($enviar != "") {
$host = "mail.ocreativo.com";
$userName = "[email protected]";
$password = "circulo";

$direcciones["direccion1"]="[email protected]";

require "includes/class.phpmailer.php";

$mail = new phpmailer();
$mail->PluginDir = "includes/";
$mail->Mailer = "smtp";
$mail->Host = $host;

$mail->SMTPAuth = true;

$mail->Username = $userName;
$mail->Password = $password;

$mail->From = "[email protected]";
$mail->FromName = "Ronald lau";

$mail->Subject = "Formulario";
$cuerpo = "<b>Formulario de contacto para empleo desde web</b>";
$cuerpo = $cuerpo."<br /><br />";
$cuerpo = $cuerpo."Nombre: ".$_POST['nombre'];
$cuerpo = $cuerpo."<br />";
$cuerpo = $cuerpo."Email: ".$_POST['email'];
$cuerpo = $cuerpo."<br />";
$cuerpo = $cuerpo."Asunto: ".$_POST['asunto'];
$cuerpo = $cuerpo."<br />";
$cuerpo = $cuerpo."Mensaje: ".$_POST['mensaje'];
$cuerpo = $cuerpo."<br />";

$mail->Body = $cuerpo;

$mail->AltBody ="Formulario de contacto para empleo desde web";
$mail->Timeout=120;

$archivo = $_POST['archivo'];
//if ($archivo !="none") {
$adjunto = $mail->AddAttachment($archivo,"curriculum.doc");
//}
reset($direcciones);
while (list($clave, $valor)=each($direcciones)) {
$mail->AddAddress($valor);

$exito = $mail->Send();

$intentos=1;
while((!$exito)&&($intentos<5)&&($mail->ErrorInfo!="SMTP
Error: Data not accepted")){ sleep(5);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;
}

if ($mail->ErrorInfo=="SMTP Error: Data not accepted") {
$exito=true;
}

if(!$exito)
{
echo "Problemas enviando correo electronico a ".$valor;
echo "<br>".$mail->ErrorInfo;
}
else
{
$mensaje="<p>Has enviado un mensaje a:<br>";
$mensaje.=$valor." ";
if ($archivo !="none") {
$mensaje.="Con un fichero adjunto llamado ".$archivo;
}
$mensaje.="</p>";
echo $mensaje;


}
$mail->ClearAddresses();

}
echo "adjunto: ".$adjunto." | ";
echo "archivo: ".$archivo;
echo "<a href='prueba1.php'> VOLVER AL FORMULARIO</a>";
}
else {
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Titulo</title>
</head>
<body class="bodyenlaces">
<div id="empleo">

<h1 class="tituloempleo">Trabaje con nosotros</h1>
<form enctype="multipart/form-data" method="post" action="<? echo
$_SERVER['PHP_SELF']; ?>">
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td><label for="nombre">Nombre: </label></td>
<td><input type="text" name="nombre" id="nombre" size="30"
maxlenght="80"/></td>
</tr>
<tr>
<td><label for="email">E-mail: </label></td>
<td><input type="text" name="email" id="email" size="30"
maxlenght="50"/></td>
</tr>
<tr>
<td><label for="asunto">Asunto: </label></td>
<td><input type="text" name="asunto" id="asunto" size="30"
maxlenght="50"/></td>
</tr>
<tr>
<td><label for="mensaje">Mensaje: </label></td>
<td><textarea type="text" name="mensaje" id="mensaje"
cols="30" rows="5"></textarea></td>
</tr>
<tr>
<td><label for="archivo">Currículum: </label></td>
<td><input type="file" name="archivo" id="archivo" /></td>
</tr>
<tr>
<td colspan="2" class="align-derecha"><input type="submit"
value="Enviar" name="enviar" /></td>
</tr>
</table>
<p>
</p>
</form>

</div>
</body>
</html>
<?
}
?>



alguien tendra una solucion o un script pero que funcione ya q no he encontrado hasta ahora uno que funcione realemnete,se los voy a agradecer mucho

Saludos