CSS: Providing seven essential vitamins and minerals since 1996.
Have a steaming hot, delicious slice of Standards.

Mail_IMAPv2 Message Viewer Example

<?php /** * This example provides a basic demonstration of how Mail_IMAP can be used to * view multipart messages. See {@link connect} for extended documentation on * how to set the connection URI. * * This example is part of the message viewer. Here the headers are retrieved for * a message part and the message part itself is displayed using an inline frame. * * * @author Richard York <rich_y@php.net> * @copyright (c) Copyright 2004, Richard York, All Rights Reserved. * @package Mail_IMAP * @subpackage examples * */ // Use an existing imap resource stream, or provide a URI abstraction. // Example of URI: // pop3://user:pass@mail.example.com:110/INBOX#notls // // If you are unsure of the URI syntax to use here, // use the Mail_IMAP_connection_wizard to find the right URI. // Or see docs for Mail_IMAP::connect // // The connection URI must also be set in: // IMAP.inbox.php. // IMAP.message_viewer.php // IMAP.part_viewer.php require_once 'Mail/IMAP.php'; $connection = 'imap://user:pass@mail.example.net:143/INBOX'; if (!isset($_GET['dump_mid'])) { $msg =& new Mail_IMAP(); } else { // Call on debuging automatically. include 'Mail/IMAP/Debug/Debug.php'; $msg =& new Mail_IMAP_Debug($connection); if ($msg->error->hasErrors()) { $msg->dump($msg->error->getErrors(TRUE)); } } // Open up a mail connection if (!$msg->connect($connection)) { echo $msg->alerts(); echo $msg->errors(); echo "<span style='font-weight: bold;'>Error:</span> Unable to build a connection."; } // Get parts and headers $mid = $_GET['mid']; $pid = $_GET['pid']; $msg->getParts($mid, $pid); $msg->getHeaders($mid, $pid); function Mail_IMAP_do_address_line(&$msg, &$mid, $line) { $rtn = (string) ''; if (!empty($msg->header[$mid][$line])) { foreach ($msg->header[$mid][$line] as $i => $address) { if (isset($msg->header[$mid][$line.'_personal'][$i]) && !empty($msg->header[$mid][$line.'_personal'][$i])) { $rtn .= "<span title='".str_replace('@', ' at ', $msg->header[$mid][$line][$i])."'>".$msg->header[$mid][$line.'_personal'][$i]."</span> ;\n"; } else { $rtn .= str_replace('@', ' at ', $msg->header[$mid][$line][$i])."; \n"; } } } return $rtn; } function Mail_IMAP_do_parts(&$msg, &$mid, $disp) { $rtn = (string) ''; if (isset($msg->msg[$mid][$disp]['pid']) && count($msg->msg[$mid][$disp]['pid']) > 0) { foreach ($msg->msg[$mid][$disp]['pid'] as $i => $inid) { $rtn .= "<a href='{$_SERVER['PHP_SELF']}?mid={$mid}&pid=".$msg->msg[$mid][$disp]['pid'][$i]."' target='top'>".$msg->msg[$mid][$disp]['fname'][$i]." ".$msg->msg[$mid][$disp]['ftype'][$i]." ".$msg->convertBytes($msg->msg[$mid][$disp]['fsize'][$i])."</a><br />\n"; } } return $rtn; } echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> <html> <head> <title> Mail_IMAP Inbox </title> <link rel='stylesheet' type='text/css' href='IMAP.css' media='all' /> </head> <body> <table id='headerviewer'> <tbody> <tr> <td class='header'> Subject: </td> <td> {$msg->header[$mid]['subject']} </td> </tr> <tr> <td class='header'> To: </td> <td>\n".Mail_IMAP_do_address_line($msg, $mid, 'to')." </td> </tr> <tr> <td class='header'> Cc: </td> <td>\n".Mail_IMAP_do_address_line($msg, $mid, 'cc')." </td> </tr> <tr> <td class='header'> From: </td> <td>\n".Mail_IMAP_do_address_line($msg, $mid, 'from')." </td> </tr> <tr> <td class='header'> Received: </td> <td>".date('D d M, Y h:i:s', $msg->header[$mid]['udate'])."</td> </tr> <tr> <td class='header'> Inline Parts: </td> <td>".Mail_IMAP_do_parts($msg, $mid, 'in')."</td> </tr> <tr> <td class='header'> Attachments: </td> <td>".Mail_IMAP_do_parts($msg, $mid, 'at')."</td> </tr> </tbody> </table> <iframe src='IMAP.part_viewer.php?mid={$mid}&pid={$pid}' name='part' style='width: 100%; height: 400px;'></iframe> </body> </html>"; ?>
Copyright © 1998-2009 Richard York, All Rights Reserved.
PHP Powered XHTML 1.0 CSS
Execution time: 0.04 seconds