2009-09-06 14 views
13

¿cómo puedo acceder a mi cuenta de gmail a través de mi código php? Necesito obtener el asunto y la dirección de de mi cuenta de Gmail. Y entonces necesito marcar el accedido como leído en gmail ¿Debo usar gmail pop3 clint? Es ese marco que puedo usar para acceder al servidor de gmail pop3 .accediendo a mi bandeja de entrada de gmail a través del código php

+3

¿Sabía que obtiene +2 puntos si acepta una respuesta? Cualquiera de estos 3 funcionará. Elegir uno. – stribika

Respuesta

3

Puede usar IMAP desde PHP.

<?php 
$mbox = imap_open("{imap.example.org:143}", "username", "password") 
    or die("can't connect: " . imap_last_error()); 

$status = imap_setflag_full($mbox, "2,5", "\\Seen \\Flagged"); 

echo gettype($status) . "\n"; 
echo $status . "\n"; 

imap_close($mbox); 
?> 
12

me acaba de utilizar el PHP imap functions y hacer algo como esto:

<?php 
    $mailbox = imap_open("{imap.googlemail.com:993/ssl}INBOX", "[email protected]", "PASSWORD"); 
    $mail = imap_search($mailbox, "ALL"); 
    $mail_headers = imap_headerinfo($mailbox, $mail[0]); 
    $subject = $mail_headers->subject; 
    $from = $mail_headers->fromaddress; 
    imap_setflag_full($mailbox, $mail[0], "\\Seen \\Flagged"); 
    imap_close($mailbox); 
?> 

Este se conecta a imap.googlemail.com (el servidor IMAP de googlemail), establece $ sujeta al tema del primer mensaje y $ de a la dirección de origen del primer mensaje. Entonces, marca este mensaje como leído. (No se ha probado, pero debería funcionar: S)

1

Zend Framework tiene la API Zend_Mail para leer el correo también. Facilita el cambio de protocolos si es necesario (POP3, IMAP, Mbox y Maildir). Solo las clases de almacenamiento IMAP y Maildir admiten indicadores de configuración en este momento.

http://framework.zend.com/manual/en/zend.mail.read.html

leer mensajes de ejemplo a partir de la documentación de Zend Framework:

$mail = new Zend_Mail_Storage_Pop3(array('host'  => 'localhost', 
             'user'  => 'test', 
             'password' => 'test')); 

echo $mail->countMessages() . " messages found\n"; 
foreach ($mail as $message) { 
    echo "Mail from '{$message->from}': {$message->subject}\n"; 
} 
4

Esto funciona para mí.

<?php 

$yourEmail = "[email protected]"; 
$yourEmailPassword = "your password"; 

$mailbox = imap_open("{imap.gmail.com:993/ssl}INBOX", $yourEmail, $yourEmailPassword); 
$mail = imap_search($mailbox, "ALL"); 
$mail_headers = imap_headerinfo($mailbox, $mail[0]); 
$subject = $mail_headers->subject; 
$from = $mail_headers->fromaddress; 
imap_setflag_full($mailbox, $mail[0], "\\Seen \\Flagged"); 
imap_close($mailbox); 
?> 
Cuestiones relacionadas