gmail imap
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 in no time! Just for fun, I'll be using the MooTools Fx.Accordion plugin to display each email.
使用PHP从Gmail帐户抓取电子邮件可能比您想象的要容易。 有了PHP及其IMAP扩展程序 ,您可以立即从Gmail帐户检索电子邮件! 只是为了好玩,我将使用MooTools Fx.Accordion插件显示每封电子邮件。
CSS (The CSS)
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; }
Some simple CSS formatting.
一些简单CSS格式。
MooTools JavaScript (The MooTools JavaScript)
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
});
Some simple accordion code.
一些简单的手风琴代码。
PHP (The PHP)
/* connect to gmail */
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'davidwalshblog@gmail.com';
$password = 'davidwalsh';
/* 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);
With our individual username/password settings set, we connect to Gmail. Once connected, we request all emails. If we find emails, I reverse sort the emails so that the newest emails appear on top. For every email we receive, I output the subject and message in MooTools Fx.Accordion format.
设置了我们的个人用户名/密码设置后,我们便连接到Gmail。 连接后,我们将要求所有电子邮件。 如果找到电子邮件,我将对电子邮件进行反向排序,以便最新的电子邮件出现在顶部。 对于收到的每封电子邮件,我均以MooTools Fx.Accordion格式输出主题和消息。
Now that I've shown you the basics, it's time for you to build your next great PHP email app! Go ahead and send a few emails to davidwalshblog@gmail.com to see your eamil display on the page!
现在,我已经向您展示了基础知识,是时候构建下一个出色PHP电子邮件应用程序了! 继续发送一些电子邮件至davidwalshblog@gmail.com,以查看页面上的eamil显示!
There are some encoding issues and I've not found a great way to include images. Any tips appreciated!
存在一些编码问题,但我还没有找到包含图像的好方法。 任何提示表示赞赏!
gmail imap