1 | <?php |
---|
2 | /** |
---|
3 | * POP3 gateway. |
---|
4 | * |
---|
5 | * PHP versions 4 and 5 |
---|
6 | * |
---|
7 | * license: This source file is subject to version 2.02 of the PHP license, |
---|
8 | * that is bundled with this package in the file LICENSE, and is available at |
---|
9 | * through the world-wide-web at http://www.php.net/license/2_02.txt. If you |
---|
10 | * did not receive a copy of the PHP license and are unable to obtain it |
---|
11 | * through the world-wide-web, please send a note to license@php.net so we can |
---|
12 | * mail you a copy immediately. |
---|
13 | * |
---|
14 | * @category Web Services |
---|
15 | * @package SOAP |
---|
16 | * @author Shane Caraveo <Shane@Caraveo.com> Port to PEAR and more |
---|
17 | * @author Jan Schneider <jan@horde.org> Maintenance |
---|
18 | * @copyright 2003-2007 The PHP Group |
---|
19 | * @license http://www.php.net/license/2_02.txt PHP License 2.02 |
---|
20 | * @link http://pear.php.net/package/SOAP |
---|
21 | */ |
---|
22 | |
---|
23 | /* SOAP_Server_Email_Gateway */ |
---|
24 | require_once 'SOAP/Server/Email_Gateway.php'; |
---|
25 | |
---|
26 | /* Include a class to access POP3. */ |
---|
27 | require_once 'Net/POP3.php'; |
---|
28 | |
---|
29 | /* Create the SOAP Server object. */ |
---|
30 | $server = new SOAP_Server_Email_Gateway('http://localhost/soap_interop/server_round2.php'); |
---|
31 | |
---|
32 | /* Tell the server to translate to classes we provide if possible. */ |
---|
33 | $server->_auto_translation = true; |
---|
34 | |
---|
35 | require_once './example_server.php'; |
---|
36 | $soapclass = new SOAP_Example_Server(); |
---|
37 | $server->addObjectMap($soapclass,'urn:SOAP_Example_Server'); |
---|
38 | |
---|
39 | /* Connect to a POP3 server and read the messages. */ |
---|
40 | $pop3 = new Net_POP3(); |
---|
41 | if ($pop3->connect('localhost', 110)) { |
---|
42 | if ($pop3->login('username', 'password')) { |
---|
43 | $listing = $pop3->getListing(); |
---|
44 | |
---|
45 | /* Now loop through each message, and call the SOAP server with that |
---|
46 | * message. */ |
---|
47 | foreach ($listing as $msg) { |
---|
48 | $email = $pop3->getMsg($msg['msg_id']); |
---|
49 | |
---|
50 | /* This is where we actually handle the SOAP response. The |
---|
51 | * SOAP::Server::Email class we are using will send the SOAP |
---|
52 | * response to the sender via email. */ |
---|
53 | if ($email) { |
---|
54 | $server->service($email); |
---|
55 | } |
---|
56 | |
---|
57 | // $pop3->deleteMsg($msg['msg_id']); |
---|
58 | } |
---|
59 | } |
---|
60 | $pop3->disconnect(); |
---|
61 | } |
---|