WebService SOAP para enviar correo con php 14

14 thoughts on “WebService SOAP para enviar correo con php

  1. Reply Mario Apr 2,2013 11:41 AM

    de donde saco SOAP/Server.php y SOAP/Client.php
    Saludos y gracias

  2. Reply Richzendy Apr 2,2013 11:55 AM

    No recuerdo bien por que hice esto hace tiempo y desde entonces no lo he vuelto a usar, pero creo que son las librerías soap de php, haciendo una búsqueda en un centos 6, me aparecen:

    php-pear-SOAP.noarch : Simple Object Access Protocol (SOAP) Client/Server for PHP
    php-soap.x86_64 : A module for PHP applications that use the SOAP protocol

    Pruebe instalarlas y ejecutar los scripts a ver.

  3. Reply Ricardo Etxeto Oct 31,2013 11:18 AM

    amigo donde estan los codigos y cual es el archivo sendmail…

    • Reply Richzendy Oct 31,2013 5:45 PM

      Lo siento que no se veía el código, es que el código está guardado en un sitio llamado snipt.org y usaba un plugin de wordpress para mostrarlo acá y al parecer el plugin de wordpress tiene un bug y ya no sirve y no me había dado cuente, sin embargo arregle el post para que se volviera a ver el código, en todo caso y por si acaso, acá tienes los enlaces:

      Servicio: http://snipt.org/wnlkj
      Cliente: http://snipt.org/wnlkl

  4. Reply Ricardo Etxeto Nov 4,2013 3:21 PM

    Amigo que nombre le das al archivo con el código mas largo, ese seria el cliente.php?

    se mas especifico con las librerias. yo estoy en ubuntu 12.04, he usado las de nusoap en otros programas, pero no se si funcionen en el que tu das de ejemplo.

    donde puedo encontrar esas librerías

    «SOAP/Client.php»
    «SOAP/Server.php»

    se supone que deberian ser 2 archivos .php y alojarlos en la carpeta donde este el cliente.php y el SendEmail.php

    probe hacer un apt.get para instalarlas y lagunas fallaron, creo que solo instalo pear.

    te agradecería en el alma que fueras mas especifico, el code sin esas librerías solo se muestra en blanco.

    actualmente implemento un webservices para envío de sms y correo.

    • Reply richzendyblogRichzendy Nov 4,2013 7:27 PM

      Esos archivos son provistos con la librería php-pear-SOAP (en CentOS, redhat y fedora en ubuntu no se como se llama), una vez instalada por el método tradicional de tu distribución no hay que colocar los archivos en el mismo directorio donde están los ejemplos, al instalar el paquete, el mismo tiene este contenido:

      [root@olivaw ~]# rpm -ql php-pear-SOAP
      /usr/share/doc/pear/SOAP
      /usr/share/doc/pear/SOAP/example
      /usr/share/doc/pear/SOAP/example/attachment.php
      /usr/share/doc/pear/SOAP/example/client.php
      /usr/share/doc/pear/SOAP/example/com_client.php
      /usr/share/doc/pear/SOAP/example/disco_server.php
      /usr/share/doc/pear/SOAP/example/email_client.php
      /usr/share/doc/pear/SOAP/example/email_gateway.php
      /usr/share/doc/pear/SOAP/example/email_pop_gateway.php
      /usr/share/doc/pear/SOAP/example/email_pop_server.php
      /usr/share/doc/pear/SOAP/example/email_server.php
      /usr/share/doc/pear/SOAP/example/example_server.php
      /usr/share/doc/pear/SOAP/example/example_types.php
      /usr/share/doc/pear/SOAP/example/server.php
      /usr/share/doc/pear/SOAP/example/server2.php
      /usr/share/doc/pear/SOAP/example/smtp.php
      /usr/share/doc/pear/SOAP/example/stockquote.php
      /usr/share/doc/pear/SOAP/example/tcp_client.php
      /usr/share/doc/pear/SOAP/example/tcp_daemon.pl
      /usr/share/doc/pear/SOAP/example/tcp_server.php
      /usr/share/doc/pear/SOAP/example/wsdl_client.php
      /usr/share/doc/pear/SOAP/tools
      /usr/share/doc/pear/SOAP/tools/genproxy.php
      /usr/share/doc/php-pear-SOAP-0.13.0
      /usr/share/doc/php-pear-SOAP-0.13.0/CHANGELOG
      /usr/share/doc/php-pear-SOAP-0.13.0/genproxy.php
      /usr/share/pear/SOAP
      /usr/share/pear/SOAP/Base.php
      /usr/share/pear/SOAP/Client.php
      /usr/share/pear/SOAP/Disco.php
      /usr/share/pear/SOAP/Fault.php
      /usr/share/pear/SOAP/Parser.php
      /usr/share/pear/SOAP/Server
      /usr/share/pear/SOAP/Server.php
      /usr/share/pear/SOAP/Server/Email.php
      /usr/share/pear/SOAP/Server/Email_Gateway.php
      /usr/share/pear/SOAP/Server/TCP
      /usr/share/pear/SOAP/Server/TCP.php
      /usr/share/pear/SOAP/Server/TCP/Handler.php
      /usr/share/pear/SOAP/Transport
      /usr/share/pear/SOAP/Transport.php
      /usr/share/pear/SOAP/Transport/HTTP.php
      /usr/share/pear/SOAP/Transport/SMTP.php
      /usr/share/pear/SOAP/Transport/TCP.php
      /usr/share/pear/SOAP/Transport/TEST.php
      /usr/share/pear/SOAP/Type
      /usr/share/pear/SOAP/Type/dateTime.php
      /usr/share/pear/SOAP/Type/duration.php
      /usr/share/pear/SOAP/Type/hexBinary.php
      /usr/share/pear/SOAP/Value.php
      /usr/share/pear/SOAP/WSDL.php
      /usr/share/tests/pear/SOAP
      /usr/share/tests/pear/SOAP/tests
      /usr/share/tests/pear/SOAP/tests/AllTests.php
      /usr/share/tests/pear/SOAP/tests/SOAP_BugsTest.php
      /usr/share/tests/pear/SOAP/tests/bug11013.phpt
      /usr/share/tests/pear/SOAP/tests/bug12615.phpt
      /usr/share/tests/pear/SOAP/tests/bug12880.phpt
      /usr/share/tests/pear/SOAP/tests/bug14756.phpt
      /usr/share/tests/pear/SOAP/tests/bug16968.phpt
      /usr/share/tests/pear/SOAP/tests/bug16968.wsdl
      /usr/share/tests/pear/SOAP/tests/bug1927.phpt
      /usr/share/tests/pear/SOAP/tests/bug4523.phpt
      /usr/share/tests/pear/SOAP/tests/dateTime.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize
      /usr/share/tests/pear/SOAP/tests/deserialize/array.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/multiref_1.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/multiref_2.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/multiref_3.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/multiref_4.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/null.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/string.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/struct_1.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/struct_2.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/struct_3.phpt
      /usr/share/tests/pear/SOAP/tests/deserialize/struct_4.phpt
      /usr/share/tests/pear/SOAP/tests/example.wsdl
      /usr/share/tests/pear/SOAP/tests/example_server.phpt
      /usr/share/tests/pear/SOAP/tests/example_server_php5.phpt
      /usr/share/tests/pear/SOAP/tests/parser.phpt
      /usr/share/tests/pear/SOAP/tests/qnames_1.phpt
      /usr/share/tests/pear/SOAP/tests/qnames_2.phpt
      /usr/share/tests/pear/SOAP/tests/serialize
      /usr/share/tests/pear/SOAP/tests/serialize/string_1.phpt
      /usr/share/tests/pear/SOAP/tests/serialize/string_2.phpt
      /usr/share/tests/pear/SOAP/tests/serialize/string_doc.phpt
      /usr/share/tests/pear/SOAP/tests/serialize/string_doc_literal_1.phpt
      /usr/share/tests/pear/SOAP/tests/serialize/string_literal_1.phpt
      /usr/share/tests/pear/SOAP/tests/serialize/struct_1.phpt
      /usr/share/tests/pear/SOAP/tests/serialize/struct_2.phpt
      /usr/share/tests/pear/SOAP/tests/serialize/struct_3.phpt
      /usr/share/tests/pear/SOAP/tests/serialize/struct_doc_literal_1.phpt
      /usr/share/tests/pear/SOAP/tests/serialize/struct_literal_1.phpt
      /usr/share/tests/pear/SOAP/tests/smtp.php
      /usr/share/tests/pear/SOAP/tests/test.utility.php
      /usr/share/tests/pear/SOAP/tests/wsdl.phpt
      /usr/share/tests/pear/SOAP/tests/xmethods.php
      /var/lib/pear/pkgxml/php-pear-SOAP.xml

      En donde se ve que aparecen los dos librerías de las cuales dependen estos ejemplos.

      El archivo sendEmail.php es el que cumple el rol de servidor, es el que en realidad envía correos y es el servicio SOAP y debe estar en un servidor web, el archivo cliente.php es simplemente un archivo para probar el servicio SOAP no requiere estar en el mismo directorio en el cual está sendEmail.php e incluso puede ser ejecutado en consola con php-cli, solo se debe tener en cuenta editar las configuraciones y parámetros de ambos archivos.

      Me avisas si te funciona por favor, estos ejemplos tienen mucho tiempo de haberse hecho.

  5. Reply Ricardo Etxeto Nov 4,2013 3:53 PM

    sabes que al ejecutar el sendemail.php el localhost se laguea, queda esperando. pero no envia nada.

  6. Reply Ricardo Etxeto Nov 6,2013 9:38 AM

    Bien amigo gracias por tu respuesta, intentare lo que e dices. Vere que logro hacer y te informo.

  7. Reply Ricardo Etxeto Nov 6,2013 10:27 AM

    Amigo te cuento que instale las librerías al menos eso creo. me baje el paquete SOAP-0.13.0 donde aparecen esas librerías de de esta pagina

    http://pear.php.net/package/SOAP/download/0.13.0/

    convertí el archivo en un .deb y luego lo instale en mi ubuntu.

    una vez procedi a llamar el cliente y aparece lo siguiente:

    Timed out read from localhostn

    que crees que pueda suceder…? de antemano te agradezco en lo que puedas ayudarme.

    • Reply richzendyblogRichzendy Nov 6,2013 2:39 PM

      Que no hay ningún servicio SOAP a la escucha en localhost, estás sirviendo el archivo sendEmail.php a través del webserver?

      El error: time out from localhost, quiere decir que se canso de esperar algo en localhost y que nunca consiguió

  8. Reply Richzendy Nov 6,2013 3:48 PM

    BTW, revisa si no tienes: localhostn en las configuraciones, eso es diferente de localhost (localhostn =! localhost), en todo caso puedes colocar la dirección ip de la máquina donde alojas el archivo, localhost es un alias para 127.0.0.1 y es la dirección de la interfase de loopback o local de la máquina.

  9. Reply Ricardo Etxeto Nov 7,2013 9:14 AM

    corrijo el error aparece: Timed out read from localhostn

    con la n al final. Gracias hasta ahroa me has ayudado mucho en mi problema. Solo que en el archivo de configuracion phph. ini

    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    SMTP = localhost
    ; http://php.net/smtp-port
    smtp_port = 25

    lo tengo asi.

    donde ubico localhostn y me disculpas.

  10. Reply Ricardo Etxeto Nov 7,2013 9:22 AM

    getProxy ();

    // servicemthod
    $erg = $proxy->sendEmail (‘echeto.r@gmail.com’,»prueba SOAP»,»cuerpo del mensaje»);

    // return
    print $erg.»n»;
    ?>

    aparace la n al final por el retorno….

Responder a Ricardo Etxeto Cancelar respuesta