function gmail_login_page()
{
?>
This page demonstrates how to access your Gmail account using IMAP in PHP.
Enter your full email address and password, and the next page will show a selection of information about your account.
See http://petewarden.typepad.com/ for more information.
}
function gmail_summary_page($user, $password)
{
?>
$imapaddress = "{imap.gmail.com:993/imap/ssl}";
$imapmainbox = "INBOX";
$maxmessagecount = 10;
display_mail_summary($imapaddress, $imapmainbox, $user, $password, $maxmessagecount);
?>
}
function display_mail_summary($imapaddress, $imapmainbox, $imapuser, $imappassword, $maxmessagecount)
{
$imapaddressandbox = $imapaddress . $imapmainbox;
$connection = imap_open ($imapaddressandbox, $imapuser, $imappassword)
or die("Can't connect to '" . $imapaddress .
"' as user '" . $imapuser .
"' with password '" . $imappassword .
"': " . imap_last_error());
echo "
Gmail information for " . $imapuser ."
";echo "
Mailboxes
\n";$folders = imap_listmailbox($connection, $imapaddress, "*")
or die("Can't list mailboxes: " . imap_last_error());
foreach ($folders as $val)
echo $val . "
\n";
echo "
Inbox headers
\n";$headers = imap_headers($connection)
or die("can't get headers: " . imap_last_error());
$totalmessagecount = sizeof($headers);
echo $totalmessagecount . " messages
";
if ($totalmessagecount<$maxmessagecount)
$displaycount = $totalmessagecount;
else
$displaycount = $maxmessagecount;
for ($count=1; $count<=$displaycount; $count+=1)
{
$headerinfo = imap_headerinfo($connection, $count)
or die("Couldn't get header for message " . $count . " : " . imap_last_error());
$from = $headerinfo->fromaddress;
$subject = $headerinfo->subject;
$date = $headerinfo->date;
echo "".$from.": ".$subject." - ".$date."
\n";
}
echo "
Message bodies
\n";for ($count=1; $count<=$displaycount; $count+=1)
{
$body = imap_body($connection, $count)
or die("Can't fetch body for message " . $count . " : " . imap_last_error());
echo "
". htmlspecialchars($body) . "
";
}
imap_close($connection);
}
$user = $_POST["user"];
$password = $_POST["password"];
if (!$user or !$password)
gmail_login_page();
else
gmail_summary_page($user, $password);
?>
No comments:
Post a Comment