Monday, November 2, 2009

php gmail api code


function gmail_login_page()
{
?>

Gmail summary login



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.







Gmail address

Password










}

function gmail_summary_page($user, $password)
{
?>

Gmail summary for <?=$user?>




$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