Foros del Web » Programando para Internet » PHP »

enviar xml por email

Estas en el tema de enviar xml por email en el foro de PHP en Foros del Web. Muy buenas. Tengo una aplicacion web(en modo LOCAL unicamente) que lee mediante jquery archivos XML, creados con PHP. Código HTML: var vUrl="xmlLineasPedidos.php?&codigoPedido="+$("#tCodigoPedido").val()+""; var nextinput=0; nextinput=1; ...
  #1 (permalink)  
Antiguo 11/02/2014, 11:29
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 5 meses
Puntos: 0
enviar xml por email

Muy buenas.

Tengo una aplicacion web(en modo LOCAL unicamente) que lee mediante jquery archivos XML, creados con PHP.
Código HTML:
var vUrl="xmlLineasPedidos.php?&codigoPedido="+$("#tCodigoPedido").val()+"";
    var nextinput=0;
    nextinput=1;
    $.get(vUrl, function (xml) {
        $(xml).find("LineaPedido").each(function () {
.........
.........
Hasta aqui todo perfecto. Pero ahora necesitaria enviar estos "archivos XML" por correo electronico. Lo he intentado accediendo directamente a la ruta
Código:
$mail->AddAttachment('xmlLineasPedidos.php')
pero logicamente no me funciona..¿Habrá alguna forma de hacerlo sin tener que crear documentos xml nuevos en local?

Este es un ejemplo de los xml(sin los datos de la conexion a mysql):
Código HTML:
include('clases/ClassMySql.php');
header('Content-Type: text/xml');
echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
echo "<LineasPedido>\n";
        while ($reg=mysql_fetch_array($cons)){
            echo"<LineaPedido>";
            echo "<codigoInterno><![CDATA[".$reg['codigoInterno']."]]></codigoInterno>";
            echo "<codigoPedido><![CDATA[".$reg['codigoPedido']."]]></codigoPedido>";
            echo "<codigoProducto><![CDATA[".$reg['codigoProducto']."]]></codigoProducto>";
            echo "<nombreProducto><![CDATA[".$reg['nombreProducto']."]]></nombreProducto>";
            echo "<precioProducto><![CDATA[".$reg['precioProducto']."]]></precioProducto>";
            echo "<cantidad><![CDATA[".$reg['cantidad']."]]></cantidad>";
            echo "<precioLinea><![CDATA[".$reg['precioLinea']."]]></precioLinea>";
            echo "<precioPedido><![CDATA[".$reg['precioTotal']."]]></precioPedido>";
            echo"</LineaPedido>";
        }
        echo"</LineasPedido>";
Muchas Gracias.
Un saludo.
  #2 (permalink)  
Antiguo 11/02/2014, 13:05
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: enviar xml por email

Si usas phpmailer (supongo que sí por el código que muestras) es posible agregar un adjunto a partir de una cadena, es decir guardas en una variable el xml procesado y lo pasas al método

$mail->AddStringAttachment($string,$name,$base,$tipo);
  #3 (permalink)  
Antiguo 11/02/2014, 15:50
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 5 meses
Puntos: 0
Respuesta: enviar xml por email

Hola ocp001a.

Gracias por contestar. ¿Como harias para guardar el xml en una variable? Estoy intentandolo con esto, pero no me funciona...¿Es a lo que te referias?

Código:
if($da=fopen($rutaXml,'r'))
{
    while ($aux= fgets($da,1024)) 
    { 
        $contenido.=$aux; 
    } 
    fclose($da); 
} 
else 
{ 
echo "Error: no se ha podido leer el archivo <strong>$ruta_fichero</strong>"; 
} 
    
    
    
    $mail->AddStringAttachment($contenido, 'clientes.xml');

Etiquetas: email, mysql, sql, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:31.