From: Antonio Pérez (
aperez .en. sgth.es)
Date: Tue Mar 30 2004 - 08:34:22 CEST
Hola!:
> ¿ Sabies como puedo enviar
un correo con un adjunto con la funcion
> mail() ?
> ¿Alguien tiene algún
ejemplo?
Yo hice esto hace como 2 años, y no
recuerdo si saqué parte del código
de alguna parte... Supongo que será mejorable, pero me
funciona... ;)
Sugerencias a la función son bien recibidas. :-)
Puedes adaptarla a tus necesidades Rubén,
como por ejemplo quitar lo
de enviar el fichero que ha subido el usuario.
/* Envia un correo con ficheros adjuntos si se quiere.
'ficheros' es un array con los nombres de
los ficheros que queremos
adjuntar al mensaje. Si uno de ellos es
UPLOAD, se envia el fichero
que
se haya recibido desde un formulario en el
navegador. Si se deja en
blanco, no se adjunta nada. */
function envia_correo ($destino, $origen, $tema, $cabecera,
$cuerpo,
$ficheros)
{
global $HTTP_POST_FILES;
if ($origen!="")
$cabecera.="From: $origen\n";
if ((is_array($ficheros)) &&
(!empty($ficheros))) {
$boundary="ALGO_" .
md5(uniqid(microtime(),1));
$cabecera.="MIME-Version:
1.0\nContent-Type: multipart/mixed;\n
boundary=\"$boundary\"";
$mensaje="This is a multi-part
message in MIME format.\n\n";
$mensaje.="--$boundary\n";
$mensaje.="Content-Type:
text/plain;\n
charset=\"iso-8859-1\"\n";
$mensaje.="Content-Transfer-Encoding:
8bit\n\n";
$mensaje.="$cuerpo\n";
foreach ($ficheros as $fichero) {
if ($fichero=="UPLOAD")
{
$fichero=$HTTP_POST_FILES['fichero']['tmp_name'];
$fich=$HTTP_POST_FILES['fichero']['name'];
}
else
$fich=basename($fichero);
$fp=fopen($fichero,"r");
if ($fp) {
$attach=fread($fp,filesize($fichero));
$attach=chunk_split(base64_encode($attach));
fclose($fp);
$mensaje.="\n\n--$boundary\n";
$mensaje.="Content-Type:
application/octet-stream;\n
name=\"$fich\"\n";
$mensaje.="Content-Transfer-Encoding:
base64\n";
$mensaje.="Content-Disposition:
attachment;\n
filename=\"$fich\"\n\n";
$mensaje.="$attach\n\n";
}
}
}
else {
$mensaje=$cuerpo;
}
mail ($destino,$tema,$mensaje,$cabecera);
}
-- PHP Spanish Localization Talk Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 16:04:43 CEST