você está aqui: Home  → Arquivo de Mensagens Programe sua mente para aprender inglês - ebook gratuito

Acessando o GMail do PHP

Colaboração: Pablo Dall'Oglio

Data de Publicação: 13 de Outubro de 2006

Sabe aqueles dias em que você não sossega enquanto não resolver um problema ? Pois é... Um dia desses eu queria acessar meus mails do gmail no celular pelo portal m.gmail.com, mas descobri que meu celular (nokia 6100) não era compatível com o padrão XHTML... Foi um banho de água fria, por que eu não espero trocar meu aparelho logo, então tratei de escrever meia dúzia de linhas de código que gerassem um WML mais simples que podia ser interpretado pelo meu aparelhinho... Também fiz com que carregasse todas mensagens novas de uma só vez, assim eu não precisaria ficar entrando e saindo das opções do menu, gastando KBytes de conexão que são caros aqui no terceiro mundo. São dois arquivos, o primeiro é o form que vai perguntar a senha do gmail, o segundo é o PHP que vai fazer todo trabalho (post do formulário), verificando suas mensagens da INBOX :-)

Antes de tudo, leia isto: http://mail.google.com/support/bin/answer.py?answer=13273

Link original da notícia: http://www.dalloglio.net/blog/pt/43

Arquivo WML

  <?xml version="1.0" encoding="ISO-8859-1"?>
  <!
  DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
  <wml>
  <card title="Inbox">
  <p>
  Pass:<br/><input title="pass" type="password" name="pass"/>
  
  <do type="accept" label="Enviar">
  <go method="post" href="m.php">
  <postfield name="pass" value="$(pass)"/>
  </go>
  
  </do>
  </p>
  </card>
  </wml>
  

Arquivo PHP (m.php)

  <?php
  
  if ($_POST['pass'] == 'suasenhadogmail')
  {
      $mailbox= imap_open("{pop.gmail.com:995/pop3/ssl/novalidate-cert}INBOX", "seuemail@gmail.com", "suasenhadogmail");
      $check = imap_check($mailbox);
      
      $count = $check->Nmsgs ;
      if ($count > 0)
      {
          for( $index=1; $index <= $count ; $index++ )
          {
              $header = imap_header($mailbox, $index);
              $size = number_format( $header->Size, 0, ',', '.');
              /*
              another informations
              $header->Date
              $header->fromaddress
              $header->Subject 
              $header->toaddress
              */
              echo $header->fromaddress .  '<br>';
              echo $header->Subject  . '<br>';
              $msg = imap_body($mailbox,$index);
              echo str_replace("\n", '<br>', $msg);
              echo '============<br>';
              
          }
      }
      else
      {
          echo "nothing...";
      }
      imap_close($mailbox);
  }
  else
  {
      echo "wrong password...";
  }
  ?>


Veja a relação completa dos artigos de Pablo Dall'Oglio