Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/01/2010, 16:03
Avatar de ken-obi
ken-obi
 
Fecha de Ingreso: julio-2004
Ubicación: Alicante
Mensajes: 314
Antigüedad: 19 años, 9 meses
Puntos: 6
error envio PDF por mail.

Hola a todos encontre por la red un codigo que un formualrio envia con datos adjuntos a un email y funciona bastante bien excepto a la hora de adjuntar archivos PDF.

Recibo correctamente los jpg, gif, y casi todos los archivos pero el que mas me interesa y no lo recibo es el pdf.

Os dejo el codigo aver si alguien sabe el problema.

Código PHP:
<?php
    
//Copyright © McAnam.com 
    
    
function form_mail($sPara$sAsunto$sTexto$sDe){
        
        
$bHayFicheros 0;
        
$sCabeceraTexto "";
        
$sAdjuntos "";
        
        if (
$sDe)$sCabeceras "From:".$sDe."\n"; else $sCabeceras "";
        
$sCabeceras .= "MIME-version: 3.0\n"

        foreach (
$_POST as $sNombre => $sValor)
                
$sTexto $sTexto."\n".$sNombre." = ".$sValor
        
        foreach (
$_FILES as $vAdjunto){
                
                if (
$bHayFicheros == 0){
                
                    
$bHayFicheros 1;
                    
                    
$sCabeceras .= "Content-type: multipart/mixed;"
                    
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";
                    
                    
$sCabeceraTexto "----_Separador-de-mensajes_--\n"
                    
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n"
                    
$sCabeceraTexto .= "Content-transfer-encoding: 7bit\n";
                    
                    
$sTexto $sCabeceraTexto.$sTexto;

                }
                
                if (
$vAdjunto["size"] > 0){
                                        
                    
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
                    
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
                    
$sAdjuntos .= "Content-Transfer-Encoding: base64\n"
                    
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";                 
                    
                    
$oFichero fopen($vAdjunto["tmp_name"], 'r'); 
                    
$sContenido fread($oFicherofilesize($vAdjunto["tmp_name"])); 
                    
$sAdjuntos .= chunk_split(base64_encode($sContenido));
                    
fclose($oFichero); 
                }
                
        }
        
        if (
$bHayFicheros)
            
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n"
        
        return(
mail($sPara$sAsunto$sTexto$sCabeceras));
    }
    
    
//Ejemplo de como usar:
    
if (form_mail("[email protected]""Activación de formulario""Los datos introducidos en el formulario son:\n\n""[email protected]")
        )
        echo 
"Su formulario ha sido enviado con exito";

?>

Gracias de antemano.
__________________
Un mundo sin fin... !!! viva los moros y cristianos de ELDA !!!