Foros del Web » Programando para Internet » PHP »

error envio PDF por mail.

Estas en el tema de error envio PDF por mail. en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/01/2010, 16:03
Avatar de ken-obi  
Fecha de Ingreso: julio-2004
Ubicación: Alicante
Mensajes: 314
Antigüedad: 20 años, 3 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 !!!
  #2 (permalink)  
Antiguo 16/01/2010, 17:03
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: error envio PDF por mail.

Hola
y cuando envias el pdf recibes por lo menos el aviso que te llego el adjunto??
o nisiquiera??
y si te llega el adjunto, lo que no ves bien es el pdf??
  #3 (permalink)  
Antiguo 16/01/2010, 17:42
Avatar de ken-obi  
Fecha de Ingreso: julio-2004
Ubicación: Alicante
Mensajes: 314
Antigüedad: 20 años, 3 meses
Puntos: 6
Respuesta: error envio PDF por mail.

Hola mortiprogramador y gracias por contestarme,
nada no recibo los PDFs, tengo tres campos file y selecciono por ejemplo un jpg, un archivo txt, y un pdf y recibo todos excepto el PDF.

Sabes el por que no lo recibo?
__________________
Un mundo sin fin... !!! viva los moros y cristianos de ELDA !!!
  #4 (permalink)  
Antiguo 16/01/2010, 19:26
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años, 6 meses
Puntos: 11
Respuesta: error envio PDF por mail.

Cita:
Iniciado por ken-obi Ver Mensaje
Hola mortiprogramador y gracias por contestarme,
nada no recibo los PDFs, tengo tres campos file y selecciono por ejemplo un jpg, un archivo txt, y un pdf y recibo todos excepto el PDF.

Sabes el por que no lo recibo?
Muestra aquí el resultado de print_r($_FILES), para ver si se está enviando bien el content-type por email

Saludos
  #5 (permalink)  
Antiguo 17/01/2010, 03:36
Avatar de ken-obi  
Fecha de Ingreso: julio-2004
Ubicación: Alicante
Mensajes: 314
Antigüedad: 20 años, 3 meses
Puntos: 6
Respuesta: error envio PDF por mail.

Hola xbx,

Lo e revisado y efectivsmente no me reconoce los pdf me da un error.
Esto es lo que me tira:

Código:
Array ( [hojaasiento] => Array ( [name] => Fra. A-1856.pdf [type] => application/pdf [tmp_name] => C:\WINDOWS\Temp\php9FB3.tmp [error] => 0 [size] => 15133 )
Hay alguna otra manera de solucionar esto?
__________________
Un mundo sin fin... !!! viva los moros y cristianos de ELDA !!!
  #6 (permalink)  
Antiguo 17/01/2010, 04:35
Avatar de ken-obi  
Fecha de Ingreso: julio-2004
Ubicación: Alicante
Mensajes: 314
Antigüedad: 20 años, 3 meses
Puntos: 6
Respuesta: error envio PDF por mail.

No me lo puedo creer!!! aqui en el trabajo si funciona bien pero en mi casa no... como se explica eso?
__________________
Un mundo sin fin... !!! viva los moros y cristianos de ELDA !!!

Etiquetas: envio, mail, pdf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:18.