Vaya por Dios, tenía el fuente con los correos cambiados por unos tipo
'[email protected]' y voy y pego el fuente original en vez de ese. Si
alguien se anima a probar, que por favor cambie el destinatario del
correo, que ya recibo bastante spam ;)
Saludos.
Fernando Pérez
Cerámica Saloni. Dpto. Organización
Fernando Pérez escribió:
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
__________________________________________________
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
|
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