Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

Validacion de cfds recibidos por email

Todo lo que no cabe en los demas foros........
Cerrado
manrar
Mensajes: 33
Registrado: Lun Ene 24, 2011 3:28 pm

Validacion de cfds recibidos por email

Mensaje por manrar »

Saludos a todos.
Me interesa hacer una cuenta de correo en el servidor de correo de la empresa para recibir en el todos los cdfs que nos envian los proveedores. La idea es validar dichos cfds y poder reclamar en caso de que tengamos alguno erroneo. Las preguntas puntuales son:
Alguien ha hecho esto de modo que al recibir el correo en el attachment se valide mediante algun software?.
Que tipo de correo recomiendan para este fin (actualmente usamos exchange pero seguramente no me sirve para esto ya que la base de datos no es accesible)?

Se que hay soluciones como control2000 o incluso misfacturas.net pero la idea es desarrollar la solucion in house. He comprado algunos codigos fuentes pero por lo general solo validan un cfd a la vez.

Mil gracias..

Manuel
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Validacion de cfds recibidos por email

Mensaje por Dado »

manrar escribió:Saludos a todos.
Me interesa hacer una cuenta de correo en el servidor de correo de la empresa para recibir en el todos los cdfs que nos envian los proveedores. La idea es validar dichos cfds y poder reclamar en caso de que tengamos alguno erroneo. Las preguntas puntuales son:
Alguien ha hecho esto de modo que al recibir el correo en el attachment se valide mediante algun software?.
Que tipo de correo recomiendan para este fin (actualmente usamos exchange pero seguramente no me sirve para esto ya que la base de datos no es accesible)?

Se que hay soluciones como control2000 o incluso misfacturas.net pero la idea es desarrollar la solucion in house. He comprado algunos codigos fuentes pero por lo general solo validan un cfd a la vez.

Mil gracias..

Manuel
Interesante proyecto, deja investigo un poco y talvez pueda adaptar el ValidaCFD_cl para este caso (si conoces el ValidaCFD_cl verdad? que si no te baneo.... :lol: )

Seria un proyecto independiente de cualquier cliente de correo, el mismo programa recibiria los email y validaria los attachment, talvez con la posibilidad de contestarle al emisor con un valido / invalido......

En un par de dias regreso con una propuesta..........

admin.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
fortiz
Mensajes: 221
Registrado: Vie Dic 10, 2010 8:11 am

Re: Validacion de cfds recibidos por email

Mensaje por fortiz »

Hola,

Yo tengo codigo PHP para hacer eso precisamente, espero les sirva

Código: Seleccionar todo

$pop = imap_open("{pop.gmail.com:995/pop3/ssl/novalidate-cert}INBOX", $username, $pasword);
$cant = imap_num_msg ( $pop);
echo "correos $cant\n";
for ($correo=1; $correo<=$cant; $correo++) {
    echo "correo:$correo\n";
    $msg = imap_fetchstructure($pop, $correo);
    if ($msg->parts) {
       $header=imap_headerinfo($pop, $correo);
       foreach ($msg->parts as $partno=>$p) {
           //print_r($p);
           $d = trim($p->disposition);
           $e = trim($p->encoding);
           $s = trim($p->subtype);
           echo "disposition = $d encoding=$e subtype=$s\n";
           // var_dump($p);
           if ($e==0 && $s=="ALTERNATIVE") {
               $cuerpo = trim(substr(imap_fetchbody($pop,$correo,$partno+1),0,255));
           }
           if ($e>=3) { // para que sirva para INLINE  && $d=="ATTACHMENT") {
               $data = imap_fetchbody($pop,$correo,$partno+1);
               if ($e==3) // Base 64
                   $data=base64_decode($data); 
               if ($e==4) // Quoted printable
                   $data=imap_qprint($data);
               $data = preg_replace('/\s\s+/', ' ', trim($data));  
               if (substr($data,0,3)==chr(239).chr(187).chr(191)) {
                   // Quita UTF BOM (U+FEFF)
                   $data=substr($data,3);
               }
               if (substr($data,0,5)=="<?xml") {
                   proc_xml($data,$header,$cuerpo);
               } else {
                   echo "Attach ".substr($data,0,5)."\n";
               }
           }
       }
    }
}
Ya la funcion proc_xml() es lo que hace tu validacfd ...
smendoza
Mensajes: 115
Registrado: Jue Jul 22, 2010 9:37 am

Re: Validacion de cfds recibidos por email

Mensaje por smendoza »

Porque no habria de poderse con exchange? Justo me acaban de comentar en mi trabajo si podemos hacer algo como esto (y este post me cae como anillo al dedo xD), nosotros tambien usamos exchange como servidor de correo, pero igual manera puedes acceder a el mediante pop3, no necesariamente acceder directamente a la base de datos.

Un punto interesante es en que lenguaje lo quieres hacer? En mi caso uno VB.net y he encontrado varias herramientas/ejemplos/dll's, su mayoria hechos en C#.

Aqui los pongo por si a alguien le sirven.

http://www.codeproject.com/KB/IP/despop3client.aspx
http://stackoverflow.com/questions/4438 ... -pop3-in-c
http://csharpmail.codeplex.com/documentation
http://trixy.justinkbeck.com/2009/07/c- ... gmail.html
http://www.lesnikowski.com/mail/

Incluso creo que hay una libreria de chilkat para esto.

Saludos!
Cerrado