Usando los recursos disponibles en el sitio he adaptado esta rutina para enviar emails con adjunto. En concreto quiero enviar una foto como adjunto.
$frontera = '--=_NextPart_01CCFD20.1986B0A0';
$para = "[email protected]";
$asunto = "Correo con adjunto";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-Type: multipart/mixed; boundary="' . $frontera . '"';
$adjunto= chunk_split(base64_encode(file_get_contents('image nprueba.png')));
$msg = 'Mi prueba para mandar';
$correo = "\r\n" . '--' . $frontera . "\r\n";
$correo .= 'Content-Type: text/html; charset="iso-8859-1"; Content-Transfer-Encoding: 7bit' . "\r\n";
$correo .= $msg;
$correo .= "\r\n" . '--' . $frontera . "\r\n";
$correo .= 'Content-Type: imagen/png; name="imagenprueba.png"' . "\r\n";
$correo .= 'Content-Transfer-Encoding: base64 ';
$correo .= 'Content-Disposition: attachment; filename="imagenprueba.png"' . "\r\n";
$correo .= $adjunto;
$correo .= "\r\n" . '--' . $frontera . '--' . "\r\n";
if (@mail($para, $asunto, $correo, $headers)) { $msg = 'Funciona'; }
else { $msg = 'No funciona'; }
echo $msg;
El fichero imagenprueba esta donde la rutina. Funciona bien, es decir, me manda un email y me reconoce el adjunto como el archivo imagenprueba.png pero ....
1- El archivo bajado es mucho más grande que el original (14714 vs. 20136).
y por ello 2- No se puede abrir el archivo ni visualizarlo.
Algún alma caritativa me puede decir que estoy haciendo mal ...
Muchas gracias,