Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2010, 09:32
Avatar de Batusai
Batusai
 
Fecha de Ingreso: enero-2005
Ubicación: Málaga -Andalucía- España
Mensajes: 130
Antigüedad: 19 años, 11 meses
Puntos: 1
Pregunta generar archivo Excel y enviarlo como adjunto usando la función mail()

Hola.

Tengo un script en PHP que envía un e-mail usando simplemente la función mail() de PHP.

1º.- Hace una consulta a una base de datos. HECHO

2º.- Después genera un archivo Excel Regular
Este código crea un .xsl con el contenido correcto, pero el formato del archivo no es acorde al estándar, y al abrirlo me sale mensaje avisando de eso. Lo abro y el contenido está bien, pero el mensaje de aviso anterior aparece. El código para generarlo es este:
Código:
header("Content-type: application/excel");
header("Content-Disposition: attachment; filename=".$filename."_".$datestamp.".xls");
header("Pragma: no-cache");
header("Expires: 0");
Me gustaría poder corregir ese detalle y además:

3º.- Añadirle el archivo generado al script que envía el email: NI IDEA
Código:
		$subject = 'MJgamers.com (LISTADO '.$datestamp.')';
		$body = "Saludos.<p />
		El resultado de <b>$query</b> sobre $dbname fueron $lineas artículos con estos valores: <p />";
				for($j=0;$j<$i;$j++){ 
					$articulo=$resultado[$j];
					echo $articulo."\n";
					$body.=$articulo."<br />";
				}
		$body.="<br />Saludos";

		//to send on HTML format
		$headers = "MIME-Version: 1.0\r\n";
		// to clear up which charset is a right one to see all characters on the e-mail correctly (UTF-8, iso-8859-15, or any other).
		$headers .= "Content-type: text/html; charset=UTF-8\r\n";

		//sender's address
		$headers .= "From: Admin <$nosotros>\r\n";

		//if we want to use a different answer mail just put it here (in the case it's different than the sender's mail
		//$headers .= "Reply-To: [email protected]\r\n";

		//path of the message, from origin to destination
		//$headers .= "Return-path: [email protected]\r\n";

		//mails that will receive as copy
		//$headers .= "Cc: [email protected]\r\n";

		//mails that will receive a hidden copy
		//$headers .= "Bcc: [email protected]\r\n";

/*************************************************************************************************************************/
		$envio = mail($reception,$subject,$body,$headers);
		if(!$envio){
			echo "<p />Algún dato no es válido: nosotros: $nosotros<p />
		<p />asunto: $subject,<p />cuerpo: $body <p /><br><a href='index.php'>Volver a INDEX</a> para solucionarlo.";
		}
		else{
			echo "OK";
		}
	
mysql_free_result($result);

@mysql_close($wpdb->dbh);
¿Podría alguien iluminarme?
__________________
No es verdad que sea un completo inútil. Al menos sirvo para dar mal ejemplo