Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/04/2011, 09:51
cpuser
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 20 años, 9 meses
Puntos: 2
Respuesta: Mandar mail con adjunto

Pude solucionarlo despues de varios intentos, le dejo el codigo a quien lo ande buscando, es fundamental para quien no tenga la funcion mail() activada en el servidor, seleccionando cualquier servidor SMTP (mail.cualquierdominio.com) puede enviar correctamente y tambien añadir un adjunto. En este caso el formulario lo necesitaba para el envio de curriculums a travez de la web, asi que les dejo el ejemplo completo para que lo adapten a lo que quieran

Código PHP:
<?php
$archivo 
= $_FILES["archivo"]["name"];
$archivo_name = $_FILES["archivo"]["tmp_name"];
$dir = "../cv/$archivo";
chmod("cv",0777);
copy($_FILES["archivo"][tmp_name], $dir);

function 
SendMAIL($para,$subject,$body,$altbody,$mailFROM,$mailNameCompany){ 
$archivo = $_FILES["archivo"]["name"];
require 
"../includes/class.phpmailer.php"; 
$mail = new phpmailer(); 
$mail->PluginDir = "../includes/"; 
$mail->Mailer = "smtp"; 
$mail->Host = "mail.cualquierdominio.com"; # Editar el Host smtp 
$mail->SMTPAuth = true; 
$mail->Username = "usuario"; # editar el usuario 
$mail->Password = "password"; # Editar el password 
$mail->From = $mailFROM; 
$mail->FromName = $mailNameCompany; 
$mail->Subject = $subject; 
$email = $para; 
$body = $body; 
$mail->AddAttachment("../cv/".$archivo);
$mail->Body = $body; 
$mail->AltBody = $altbody; 
$mail->Timeout=20; 
$mail->AddAddress($email); 
$exito = $mail->Send(); 
     
$intentos=1;  
       while((!
$exito)&&($intentos<5)&&($mail->ErrorInfo!="SMTP Error: Data not accepted")){ 
       
sleep(5); 
            
$exito = $mail->Send(); 
            
$intentos=$intentos+1;                 
       } 
 
    if (
$mail->ErrorInfo=="SMTP Error: Data not accepted") { 
       
$exito=true; 
        } 
return 
$exito; 
}  

$nombre = $_POST["nombre"];
$edad = $_POST["edad"];
$mail = $_POST["mail"];
$telefono = $_POST["telefono"];
$puesto = $_POST["puesto"];
$archivo = $_FILES["archivo"]["name"];

$para = "[email protected]"; 
$subject = $nombre. " envio su CV"; 

$altbody = "
Nombre: "
.$nombre."
Email: "
.$mail."
Edad: "
.$edad."
Telefono: "
.$telefono."
Se postula para: "
.$puesto."
"
; 


$body = "
<strong>Nombre:</strong> "
.$nombre."<br />
<strong>Email:</strong> "
.$mail."<br />
<strong>Edad:</strong> "
.$edad."<br />
<strong>Telefono:</strong> "
.$telefono."<br />
<strong>Se postula para:</strong> "
.$puesto."<br />
"
; 


$mailNameCompany = $nombre; 
$mailFROM = $mail; 

if(
SendMAIL($para,$subject,$body,$altbody,$mailFROM,$mailNameCompany)){ 
header("Location: ../curriculum.php?mail=enviado"); 
} 
else{ 
header("Location: ../curriculum.php?mail=rechazado"); 
} 
?>

Saludos amigos!
__________________
Me gusta mucho ver Videos de carros en internet :)