< Day Day Up > |
13.15 IMAP, POP3, and NNTPYou can write a full-featured mail or news client in PHP. (In fact, some people already have—check out http://www.horde.org/imp/ and http://www.squirrelmail.org/). The imap extension gives your PHP programs the ability to talk with IMAP, POP3, and NNTP servers. Example 13-20 uses some of the imap extension functions to connect to the news.php.net news server and retrieve information about 10 most recent messages from the php.announce newsgroup. Example 13-20. Connecting to an NNTP server$server = '{news.php.net/nntp:119}'; $group = 'php.announce'; $nntp = imap_open("$server$group", '', '', OP_ANONYMOUS); $last_msg_id = imap_num_msg($nntp); $msg_id = $last_msg_id - 9; print '<table>'; print "<tr><td>Subject</td><td>From</td><td>Date</td></tr>\n"; while ($msg_id <= $last_msg_id) { $header = imap_header($nntp, $msg_id); if (! $header->Size) { print "no size!"; } $email = $header->from[0]->mailbox . '@' . $header->from[0]->host; if ($header->from[0]->personal) { $email .= ' ('.$header->from[0]->personal.')'; } $date = date('m/d/Y h:i A', $header->udate); print "<tr><td>$header->subject</td><td>$email</td>" . "<td>$date</td></tr>\n"; $msg_id++; } print '</table>'; Example 13-20 prints: <table><tr><td>Subject</td><td>From</td><td>Date</td></tr> <tr><td>PHP Security Advisory: CGI vulnerability in PHP version 4.3.0</td> <td>sniper@php.net (Jani Taskinen)</td><td>02/17/2003 01:01 PM</td></tr> <tr><td>PHP 4.3.2 released</td><td>sniper@php.net (Jani Taskinen)</td> <td>05/29/2003 08:05 AM</td></tr> <tr><td>PHP 5.0.0 Beta 1</td><td>sterling@bumblebury.com (Sterling Hughes)</td> <td>06/29/2003 02:19 PM</td></tr> <tr><td>PHP 4.3.3 released</td><td>ilia@prohost.org (Ilia Alshanetsky)</td> <td>08/25/2003 09:53 AM</td></tr> <tr><td>PHP 5.0.0 Beta 2 released!</td><td>andi@zend.com (Andi Gutmans)</td> <td>10/30/2003 03:57 PM</td></tr> <tr><td>PHP 4.3.4 Released</td><td>ilia@prohost.org (Ilia Alshanetsky)</td> <td>11/03/2003 08:25 PM</td></tr> <tr><td>PHP 5 Beta 3 Released!</td><td>andi@zend.com (Andi Gutmans)</td> <td>12/22/2003 05:48 AM</td></tr> <tr><td>PHP 5 Release Candidate 1</td><td>andi@zend.com (Andi Gutmans)</td> <td>03/18/2004 12:24 PM</td></tr> <tr><td>PHP 4.3.5 Released</td><td>ilia@prohost.org (Ilia Alshanetsky)</td> <td>03/26/2004 08:55 AM</td></tr> <tr><td>PHP 4.3.6 Released</td><td>ilia@prohost.org (Ilia Alshanetsky)</td> <td>04/15/2004 05:28 PM</td></tr> Read about the imap extension in O'Reilly's PHP Cookbook, Recipes 17.3, 17.4, and 17.5; and in the PHP Manual (http://www.php.net/imap). |
< Day Day Up > |