Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2011, 19:23
cpuser
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
Mandar mail con adjunto

Que tal foreros? Tuve unos problemas con un servidor en Windows el cual no tiene servidor SMTP por lo que estuve buscando y aca mismo en forosdelweb encontre un codigo que me permite mediante PHP Mailer utilizar un servidor SMTP diferente a donde esta alojada la pagina.

Hasta ahi perfecto, envia mails sin ningun problema, lo unico que necesito adjuntar un archivo y aunque siga las directivas que aparecen en PHP Mailer y todo lo que pude investigar, solo puedo attachear el archivo si se encuentra alojado en el servidor, si viene desde un formulario multipart/formdata no funciona.

aca les dejo el codigo a ver si alguien me hecha una manito (las partes en negrita son las que agregué para el adjunto):

EDITO PARA AVISAR QUE LAS NEGRITAS DENTRO DE CODIGO NO FUNCIONAN Y LO QUE YO HE AGREGADO SE ENCUENTRA ENTRE ETIQUETAS [B ]

Código PHP:
function SendMAIL($para,$subject,[B]$adjunto[/B],$body,$altbody,$mailFROM,$mailNameCompany,){ 
require 
"../includes/class.phpmailer.php"

[
B]$varname $_FILES["archivo"]["name"];
$vartemp $_FILES["archivo"]["tmp_name"];[/B]

$mail = new phpmailer(); 
$mail->PluginDir "../includes/"
$mail->Mailer "smtp"
$mail->Host "mail.dominio.com"# Editar el Host smtp 
$mail->SMTPAuth true
$mail->Username "[email protected]"# editar el usuario 
$mail->Password "psw"# Editar el password 
$mail->From $mailFROM
$mail->FromName $mailNameCompany
$mail->Subject $subject
$email $para
[
B]$mail->AddAttachment($vartemp$varname) = $adjunto;[/B]
$body $body
$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
}  


$variables $_POST["variables"];

$para "[email protected]"
$subject "Web"

$altbody ""


$body ""


$mailNameCompany $nombre
$mailFROM $mail
[
B]$adjunto $varname;[/B]

if(
SendMAIL($para,$subject,[B]$adjunto[/B],$body,$altbody,$mailFROM,$mailNameCompany)){ 
header("Location: "); 

else{ 
header("Location: "); 


Ojalá alguien pueda ayudar, muchas gracias!
__________________
Me gusta mucho ver Videos de carros en internet :)