Custom GMail Inbox Using IMAP

Programming for Search Engines 101. An area for avid PHP and .NET developers to chat about Programming techniques and how to make better use of search engines.

Moderator: Moderators

Custom GMail Inbox Using IMAP

Postby Dinoop » Fri Jan 20, 2012 3:07 am

Grabbing emails from your Gmail account using PHP is probably easier than you think. Armed with PHP and its IMAP extension, you can retrieve emails from your Gmail account within seconds !

Here is the code !

<style>

div.toggler { border:1px solid #ccc; background:url(gmail2.jpg) 10px 12px #eee no-repeat; cursor:pointer; padding:10px 32px; }

div.toggler .subject { font-weight:bold; }

div.read { color:#666; }

div.toggler .from, div.toggler .date { font-style:italic; font-size:11px; }

div.body { padding:10px 20px; }

</style>

<script>

window.addEvent('domready',function() {

var togglers = $$('div.toggler');

if(togglers.length) var gmail = new Fx.Accordion(togglers,$$('div.body'));

togglers.addEvent('click',function() { this.addClass('read').removeClass('unread'); });

togglers[0].fireEvent('click'); //first one starts out read

});

</script>

<?php

/* connect to gmail */

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';

$username = 'Your Gmail user name';

$password = 'Password';



/* try to connect */

$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());







/* grab emails */

$emails = imap_search($inbox,'ALL');



/* if emails are returned, cycle through each... */

if($emails) {



/* begin output var */

$output = '';



/* put the newest emails on top */

rsort($emails);



/* for every email... */

foreach($emails as $email_number) {



/* get information specific to this email */

$overview = imap_fetch_overview($inbox,$email_number,0);

$message = imap_fetchbody($inbox,$email_number,2);



/* output the email header information */

$output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">';

$output.= '<span class="subject">'.$overview[0]->subject.'</span> ';

$output.= '<span class="from">'.$overview[0]->from.'</span>';

$output.= '<span class="date">on '.$overview[0]->date.'</span>';

$output.= '</div>';



/* output the email body */

$output.= '<div class="body">'.$message.'</div>';

}



echo $output;

}



/* close the connection */

imap_close($inbox);

?>
Dinoop
 

Re: Custom GMail Inbox Using IMAP

Postby douglas » Fri Jan 20, 2012 3:19 am

This is great find and useful info Dinoop. This way I can fetch and store my emails in my personal DB.

Thanks for sharing!
douglas
 
Posts: 282
Joined: Fri Feb 20, 2009 3:56 am


Return to Programming

Who is online

Users browsing this forum: No registered users and 3 guests

cron