Archivos Adjuntos

Estoy a punto de sacar un portal que creo que estará bastante bien, y una de las cosas que voy a ofrecer es una cuenta de correo gratuita a los que se registren, para lo cual he hecho un cliente de correo POP3/IMAP con el que enviar, recibir, borrar, etc. Los mensajes de su cuenta.
M problema es cuando el mensaje lleva archivos adjuntos. No se como recuperarlos. Estoy usando PHP.

2 Respuestas

Respuesta
1
PHP en unión con los códigos de formularios del HTML permiten subir ficheros desde el navegador al servidor. De ese modo, podrás enviar ficheros adjuntos desde un WebMail desarrollado en PHP, que creo que es lo que quieres hacer.
A la hora de crear un formulario de subida de ficheros puedes usar el siguiente ejemplo:
<form name="nombreformulario" method="post" action="scriptdealta.php" enctype="multipart/form-data">
<input type="file" name="file1">
<input type="submit" value="Upload">
</form>
El script que recibe los datos, incluyendo el fichero adjunto, scriptdealta.php, puede contener unas líneas como estas:
// Se obtiene el fichero con el UPLOAD
if ($HTTP_POST_FILES['userfile']['name'] != '') {
if (is_uploaded_file($userfile)) {
$upload_filename = $HTTP_POST_FILES['userfile']['name'];
copy($userfile, $dir_test_imagenes_uploads . $upload_filename);
}
}
No, no me has entendido.
No quiero ningún UPLOAD, eso se como hacerlo.
Mi problema es cuando recojo un mensaje mediante un IMAP_FETCHBODY para acceder a una parte en concreto del cuerpo de un mensaje. Si el mensaje contiene adjuntos, por ejemplo imágenes, no se como presentar el texto del mensaje y la imagen.
Espero haberme explicado mejor.
O sea, que lo que quieres es extraer los ficheros adjuntos para poder descargarlos por web, ya sean imágenes o ficheros de otro tipo, ¿no?
Este código se supone que lo hace:
<?
// @(#) $Id: get_attach.php,v 1.4 2001/04/19 06:20:33 ryan Exp $
include_once('include/misc.inc');
check_cookie($username, $password);
include_once('include/imap.inc');
$imap = new km_imap($username, $password);
$imap->connect($folder);
header("Content-type: $type/$subtype");
if($action != "inline") {
header("Content-Disposition: attachment; filename=$name");
}
$body = imap_fetchbody($imap->mbox, $msgnum, $part_no, FT_UID);
if($type == "MESSAGE" && $subtype == "RFC822") {
$body = imap_fetchbody($imap->mbox, $msgnum, "$part_no.0", FT_UID) . $body;
}
if(($encoding == "base64") || ($action == "inline")){
echo imap_base64($body);
} else {
echo $body;
}
$imap->disconnect();
?>
Puedes obtener más información estudiando un código fuente de un webmail como el siguiente:
http://cvs.kmmail.org/chora/cvs.php/kmmail
Respuesta

Tengo el mismo problema que tú, que no se como presentar los emails que vienen con adjuntos,¿Conseguiste solucionarlo?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas