Foros del Web » Programando para Internet » PHP »

Enviar mail con attachments

Estas en el tema de Enviar mail con attachments en el foro de PHP en Foros del Web. Hola gente.. una vez mas recurro a uds. Esta vez es porque estoy haciendo mis primeros pasos con php..y necesito enviar un mail con attachment. ...
  #1 (permalink)  
Antiguo 01/05/2008, 15:33
 
Fecha de Ingreso: mayo-2007
Mensajes: 14
Antigüedad: 17 años
Puntos: 0
Enviar mail con attachments

Hola gente.. una vez mas recurro a uds.
Esta vez es porque estoy haciendo mis primeros pasos con php..y necesito enviar un mail con attachment. He podido enviar mails perfectamente pero no consigo armar algo bueno para attachar file.
He revisado este foro y no he encontrado nada que me ayude ..quiza sea por mi "novatez"...sepan disculparme si hubiera algo. Se que phpmailer es una buena opcion..pero no la entiendo mucho...
Alguien puede ayudarme????

1000 gracias a todos..!
  #2 (permalink)  
Antiguo 01/05/2008, 19:50
 
Fecha de Ingreso: marzo-2008
Ubicación: Venezuela
Mensajes: 60
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Enviar mail con attachments

hay muchas clases que envían emails y algunas con attachments, en la página http://phpclasses.org puedes encontrar varios
yo te dejo una aquí, que no he probado y no sé qué tal es

saludos!
  #3 (permalink)  
Antiguo 01/05/2008, 20:26
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: Enviar mail con attachments

Gabrielucha:
Tecnicamente lo que se hace es:
1.- determinas tu destino de correo, asunto y algun mensaje que formara parte del cuerpo del correo.
2.- El archivo que quieres adjuntar debe ser procesado asi:
$fp = fopen(($archivoenviar) ,"r");
$str = fread($fp, filesize($archivoenviar));
$str = chunk_split(base64_encode($str));
$fp = fclose($fp);
3.- El cuerpo del mensaje debe ir asi:
$message = "--MIME_BOUNDRY\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n";
$message .= "\n";
$message .= "$mensaje";
$message .= "\n";
$message .= "--MIME_BOUNDRY\n";
$message .= "Content-Type: image/jpg; name=\"$nombre\"\n";
Aqui debes poner el tipo de archivo que envias;
image/gif, image/png, etc...
4.- El archivo adjunto se adjunta valga la redundancia asi:
$message .= "Content-disposition: attachment\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "\n";
$message .= "$str\n";
$message .= "\n";
$message .= "--MIME_BOUNDRY--\n";
Observa que $str viene de arriba!!!;
en otras palabras es el archivo cifrado o codificado, el
servidor de correo que recibe podra Descifrar el archivo o decodificarlo
adecuadamente.
5.- Finalmente lo envias asi:
mail($destino, $asunto, $message, $headers)
en caso tengas un servidor de correo que te
permita enviar ya sea en tu equipo o fuera de este
y que te permitan conectar o utilizarlo para enviar correos.
Saludos
Y espero te ayude
Franco
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 05:07.