Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/09/2008, 14:55
franco190453
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años, 10 meses
Puntos: 33
Respuesta: Envio imagenes con mail()

xinxan22:
La forma correcta de enviar, por ejemplo una imagen JPG,
adjunta a un envio y NO un enlace a la imagen es asi:

$fp = fopen(($archivoenviar) ,"r");
$str = fread($fp, filesize($archivoenviar));
$str = chunk_split(base64_encode($str));
$fp = fclose($fp);

$mimensaje = "--MIME_BOUNDRY\n";
$mimensaje .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$mimensaje .= "Content-Transfer-Encoding: quoted-printable\n";
$mimensaje .= "\n";
$mimensaje .= "$mensaje";
$mimensaje .= "\n";

$mimensaje .= "--MIME_BOUNDRY\n";
$mimensaje .= "Content-Type: image/jpg; name=\"$nombre\"\n";
$mimensaje .= "Content-disposition: attachment\n";
$mimensaje .= "Content-Transfer-Encoding: base64\n";
$mimensaje .= "\n";
$mimensaje .= "$str\n";
$mimensaje .= "\n";
$mimensaje .= "--MIME_BOUNDRY--\n";

mail($destino, $asunto, $mimensaje, $headers);

Este codigo te funciona con cualquier servidor de correo
como hotmail, yahoo y gmail.
1.- se toma el archivo binario se codifica con base64_encode(),
se guarda en $str, se establecen los MIME BOUNDARY como
image/jpg y la disposition $attachment o adjunto".
2.- Se establece el mensaje escrito, se establecen los MIME BOUNDRY
como "text/plain o texto sencillo"
3.- Se envian junto con los headers.
Saludos
Franco