예제 #1
0
require_once 'SOAP/Server/Email.php';
/* include a class to access POP3 */
require_once 'Net/POP3.php';
/* create the SOAP Server object */
$server = new SOAP_Server_Email();
/* tell server to translate to classes we provide if possible */
$server->_auto_translation = true;
require_once 'example_server.php';
$soapclass = new SOAP_Example_Server();
$server->addObjectMap($soapclass, 'urn:SOAP_Example_Server');
/* Connect to a POP3 server and read the messages */
$pop3 =& new Net_POP3();
if ($pop3->connect('localhost', 110)) {
    if ($pop3->login('username', 'password')) {
        $listing = $pop3->getListing();
        /* now loop through each message, and call the 
           SOAP server with that message */
        foreach ($listing as $msg) {
            $email = $pop3->getMsg($msg['msg_id']);
            /* this is where we actually handle the SOAP
               response.  The SOAP::Server::Email class we
               are using will send the SOAP response to 
               the sender via email. */
            if ($email) {
                $server->client($email);
                $pop3->deleteMsg($msg['msg_id']);
            }
        }
    }
    $pop3->disconnect();
}
예제 #2
0
// | http://www.php.net/license/2_02.txt.                                 |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Shane Caraveo <*****@*****.**>   Port to PEAR and more   |
// +----------------------------------------------------------------------+
//
// $Id$
//
/*
This reads a message from stdin, and calls the soap server defined

You can use this from qmail by creating a .qmail-soaptest file with:
    | /usr/bin/php /path/to/email_server.php
*/
# include the email server class
require_once 'SOAP/Server/Email.php';
$server = new SOAP_Server_Email();
# read stdin
$fin = fopen('php://stdin', 'rb');
if (!$fin) {
    exit(0);
}
$email = '';
while (!feof($fin) && ($data = fread($fin, 8096))) {
    $email .= $data;
}
fclose($fin);
$response = $server->client($email);
print_r($response);