marcos46g:
Enviar imagenes que esten guardadas en el servidor NO es buena idea, ya
que si envias a 1000 usuarios tendrias muchos problemas de conexion.
Lo mas recomendable es que lo envies como adjunto asi ->
$destino = "
[email protected]";
$asunto = "Probando envio attachmentes";
$mensaje = "A ver si todo sale bien. Gracias.";
$headers = "From:
[email protected]\n";
$headers .= "Reply-To:
[email protected]\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"MIME_BOUNDRY\"\n";
$headers .= "This is a multi-part message in MIME format.\n";
$fp = fopen(($_FILES['miarchivo']['tmp_name']),"r");
$str = fread($fp, filesize($_FILES['miarchivo']['tmp_name']));
$str = chunk_split(base64_encode($str));
$fp = fclose($fp);
$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: application/octet-stream; name=\"nuevo.txt\"\n";
$message .= "Content-disposition: attachment\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "\n";
$message .= "$str\n";
$message .= "\n";
$message .= "--MIME_BOUNDRY--\n";
if(!mail($destino, $asunto, $message, $headers)) {
exit("Ha ocurrido un error, por favor inténtalo más tarde");
}
Comentarios:
En este caso tenemos un destino que sera el correo del usuario.
Un asunto que ya tu lo designaras.
Un mensaje que deberas diseñar tu mismo!.
Las cabeceras ->
deben contener las dos ultimas lineas donde dice headers.!!!!.
El manejo del archivo ->
En este caso mio, he subido el archivo y lo debo ABRIR, LEER, CODIFICAR Y CERRAR.
El mensaje ->
debe ir dentro de un MIME_BOUNDARY o (fronteras MIME)
El archivo adjunto ->
debera ir en otra MIME_BOUNDARY o (frontera MIME).
Y finalmente se envia.
OJO -> si el archivo reside en el servidor y mas especificamente en el
directorio donde se encuentra el codigo php que enviara el archivo, simplemente se abre como imagen.jpg...
Saludos
Y espero te ayude
Franco
P.S. Todo esto es conforme los estandares generalmente aceptados para el envio de archivos adjuntos via SMTP puerto 25.