Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/07/2014, 10:13
shaka025
 
Fecha de Ingreso: julio-2012
Mensajes: 94
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: enviar correo de mail() y todos los servidores de correo lo puedan leer

Hola ehgaucho.

Los headers que he puesto, son los que estoy utilizando. igual te los pongo tal cual los tengo:

significado de las variables:
$filename = nombre de archivo
$path = ruta de archivo
$mailto = Correo de receptor
$from_mail = Email del emisor
$from_name = Nombre del emisor
$subject = Titulo del mensaje
$message = Cuerpo de mensaje

Código PHP:
   $file $path.$filename;
    
$content chunk_split(base64_encode(file_get_contents($file)));
    
$uidmd5(uniqid(time()));
    
$bound="--".$uid."\r\n";
    
$last_bound="--".$uid."--\r\n";

    
$header "From: ".$from_name." <".$from_mail.">\r\n";
    
$header .= "MIME-Version: 1.0"."\r\n";
    
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n";
    
$header .= "This is a multi-part message in MIME format.\r\n";
    
$header .= $bound;
    
$header .= "Content-type:text/plain; charset=utf-8\r\n";
    
$header .= "Content-Transfer-Encoding: 7bit\r\n";
    
$cuerpo .= $message."\r\n";
    
$cuerpo .= $bound;
    
$cuerpo .= "Content-Type: application/zip; name=\"".$file."\"\r\n";
    
$cuerpo .= "Content-Transfer-Encoding: base64\r\n";
    
$cuerpo .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n";
    
$cuerpo .= $content."\r\n";
    
$cuerpo .= $last_bound;

    if (
mail($mailto$subject$cuerpo$header)) {
        echo 
"Correo enviado a ".$mailto;
    } else {
        echo 
"Error al enviar correo";
    } 
Lo que se me hace raro es lo siguiente:

Cuando lo envío a un correo gmail, el archivo zip me lo muestra con los archivos dentro.
Cuando lo envío a un correo hotmail, el archivo zip esta vacío.
Cuando lo envío a un correo privado, el correo me llega con una cadena inmensa de texto, pero no el archivo adjunto.

Saludos.