WebService SOAP para enviar correo con php

14 comentarios en «WebService SOAP para enviar correo con php»

  1. 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.

    Responder
    • 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

      Responder
  2. 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.

    Responder
    • 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.

      Responder
    • 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ó

      Responder
  3. 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.

    Responder

Deja un comentario