使用 PHP 从 Gmail 帐户中获取电子邮件可能比您想象的要容易。使用 PHP 及其 IMAP 扩展,您可以立即从 Gmail 帐户检索电子邮件!只是为了好玩,我将使用 MooTools Fx.Accordion 插件来显示每封电子邮件。
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; }
一些简单的 CSS 格式。
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 });
一些简单的手风琴代码。
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 >'; $output.= '<span >'.$overview[0]->subject.'</span> '; $output.= '<span >'.$overview[0]->from.'</span>'; $output.= '<span >on '.$overview[0]->date.'</span>'; $output.= '</div>'; /* output the email body */ $output.= '<div >'.$message.'</div>'; } echo $output; } /* close the connection */ imap_close($inbox);
通过设置个人用户名/密码设置,我们连接到 Gmail。连接后,我们会请求所有电子邮件。如果我们找到电子邮件,我会对电子邮件进行反向排序,以便最新的电子邮件显示在顶部。对于我们收到的每一封电子邮件,我都会以 MooTools Fx.Accordion 格式输出主题和消息。
现在我已经向您展示了基础知识,是时候构建您的下一个出色的 PHP 电子邮件应用程序了!继续发送几封电子邮件至 davidwalshblog@gmail.com 以查看您的 eamil 在页面上的显示!
存在一些编码问题,我还没有找到包含图像的好方法。任何提示表示赞赏!