|
Saludos foreros. Estoy haciendo un poco de I+D+i con php, y he llegado
al envío de de un correo con el texto en html y con un archivo de Excel
como adjunto. Como de vez en cuando se pregunta en el foro por el envío
de correo desde el I5, abajo os copio el código del ejemplo, por si
alguien más quiere probar. Lo único necesario es tener el Zend core
instalado en el I5. El hecho de poder exportar un archivo binario marca la diferencia con nuestra utilidad de envío de correo, que solamente permite mandar archivos de texto (he visto algunas por ahí que en teoría lo soportan, pero a mi no me han funcionado). El fichero exportado es /export/Fernando/primitiva.xls, situado en el IFS. Ahora solo me falta algo para generar documentos excel (o csv, en su defecto). No creo que me cueste demasiado encontrar algo por ahí. Uniendo esto a que se puede ejecutar un script de php desde la línea de comandos (y por ende, desde cualquier programa), la cosa se pone interesante. Para crear el ejemplo me he basado en estos dos enlaces : http://www.programacionweb.net/foros/mensaje/?num=1344 http://rinconastur.net/php/php64b.php Y aquí está el código. Ciertamente no está muy cuidado, pero es que es de I+D+i ;): <?php $cabeceras = "From: [email protected]\r\ncontent-type: text/html\r\n"; $file = fopen("/export/Fernando/primitiva.xls", "r"); $contenido = fread($file, filesize("/export/Fernando/primitiva.xls")); $encoded_attach = chunk_split(base64_encode($contenido)); fclose($file); $asunto="Enviar un correo con fichero adjunto"; $cabeceras = "From: [email protected]\r\n"; $cabeceras .= "MIME-version: 1.0\r\n"; $cabeceras .= "Content-type: multipart/mixed; "; $cabeceras .= "boundary=\"Message-Boundary\"\r\n"; $cabeceras .= "X-attachments: primitiva.xls"; $body_top = "--Message-Boundary\r\n"; $body_top .= "Content-type: text/html\r\n"; $body_top .= "Content-description: Mail message body\r\n\r\n"; $cuerpo = $body_top."<p>Holaa</p><strong>Esto va en negrita</strong>"; $nombref="primitiva.xls" ; $cuerpo .= "\r\n\r\n--Message-Boundary\r\n"; $cuerpo .= "Content-type: application/vnd.ms-excel; name=\"$nombref\"\r\n"; $cuerpo .= "Content-Transfer-Encoding: BASE64\r\n"; $cuerpo .= "Content-disposition: attachment; filename=\"$nombref\"\r\n\r\n"; $cuerpo .= "$encoded_attach\r\n"; $cuerpo .= "--Message-Boundary--\r\n"; if (!mail("[email protected]", $asunto, $cuerpo, $cabeceras)) { echo("<p>Error en mail</p>"); } else echo("<P>Mail correcto</p>"); ?> --
Saludos. Fernando Pérez Cerámica Saloni. Dpto. Organización |
begin:vcard fn;quoted-printable:Fernando P=C3=A9rez n;quoted-printable:P=C3=A9rez;Fernando org;quoted-printable:;Auditor=C3=ADa y Organizaci=C3=B3n email;internet:[email protected] tel;work:Ext. 627 x-mozilla-html:TRUE version:2.1 end:vcard
__________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; Publicaciones Help400, S.L. - Todos los derechos reservados http://www.help400.es _____________________________________________________ Para darte de baja visita la siguente URL: http://listas.combios.es/mailman/listinfo/forum.help400

