Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Enviar un archivo que existe en mi Servidor con MAIL()

Estas en el tema de Enviar un archivo que existe en mi Servidor con MAIL() en el foro de PHP en Foros del Web. Hola, estoy tratando de enviar una notificacion por mail con un archivo que previamente se ha subido a mi servidor, pero no logro hacer que ...
  #1 (permalink)  
Antiguo 05/11/2014, 20:23
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años, 7 meses
Puntos: 5
Enviar un archivo que existe en mi Servidor con MAIL()

Hola,

estoy tratando de enviar una notificacion por mail con un archivo que previamente se ha subido a mi servidor, pero no logro hacer que el archivo quede adjunto en el correo...

Este es el Script que estoy usando...


Código PHP:
$usuario'ElUsuario';
$Matriz urldecode($_GET[matriz]);
$To '[email protected]';
$hoy date("F j, Y, g:i a");

$archivo "http://midiminio.com/upl/CAPACITACIONES.csv"//Esta es la ubicación de mi archivo

$file fopen($archivo"r"); 
$contenido fread($filefilesize($archivo)); 
$encoded_attach chunk_split(base64_encode($contenido)); 
fclose($file); 
 
$email="[email protected]"
$mensaje='Se ha subido la Matriz '.$Matriz.' Por el usuario:  '.$usuario.',  El:  '.$hoy
 
$cabeceras "From: [email protected]\n"
$cabeceras .= "Reply-To: $email\n"
$cabeceras .= "MIME-version: 1.0\n"
$cabeceras .= "Content-type: multipart/mixed; "
$cabeceras .= "boundary=\"Message-Boundary\"\n"
$cabeceras .= "Content-transfer-encoding: 7BIT\n"
$cabeceras .= "X-attachments: CAPACITACIONES.csv"
 
$body_top "--Message-Boundary\n"
$body_top .= "Content-type: text/plain; charset=US-ASCII\n"
$body_top .= "Content-transfer-encoding: 7BIT\n"
$body_top .= "Content-description: Mail message body\n\n"
 
$cuerpo $body_top.$mensaje
 
$nombref "CAPACITACIONES.csv";
$cuerpo .= "\n\n--Message-Boundary\n";
$cuerpo .= "Content-type: Binary; name=\"$nombref\"\n"
$cuerpo .= "Content-Transfer-Encoding: BASE64\n"
$cuerpo .= "Content-disposition: attachment; filename=\"$nombref\"\n\n"
$cuerpo .= "$encoded_attach\n"
$cuerpo .= "--Message-Boundary--\n"

echo 
'
<div style="border:solid 1px #369; padding:10px; box-shadow:0px 0px 10px #f00; margin:10px;" width="710">
    <h1 style="text-align: center;">
        &nbsp;
    </h1>

    <h1 style="text-align: center;">
        La Matriz <br>'
.$Matriz.'<br> Se ha subido con &eacute;xito
    </h1>

    <p>
        &nbsp;
    </p>
</div>
'
;

mail($To,'Matriz Subida',$cuerpo$cabeceras); 
Alguien me puede orientar, pq no logro hacer que el archivo se adjunte... Seguramente tengo mal algo pero no logro identificar donde esta el error.
__________________
.................................................. ...........................
No todos nacemos aprendidos !

Última edición por insyse; 05/11/2014 a las 20:31
  #2 (permalink)  
Antiguo 06/11/2014, 02:48
 
Fecha de Ingreso: septiembre-2014
Mensajes: 180
Antigüedad: 10 años, 2 meses
Puntos: 14
Respuesta: Enviar un archivo que existe en mi Servidor con MAIL()

En vez de usar la función mail() nativa, utiliza la clase PHPMailer, te ahorrará más de un quebradero de cabeza y funciona a la perfección:

https://github.com/Synchro/PHPMailer
__________________
Unelink.es - VPS, servidores dedicados, hosting y dominios. 10 años a tu lado.

Etiquetas: servidor
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 12:56.