example - accediendo a mi bandeja de entrada de gmail a través del código php
php read email (5)
Puedes 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);
?>
¿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 luego tengo que marcar el acceso como se leyó en gmail. ¿Debo usar gmail pop3 clint? Es ese framework que puedo usar para acceder al servidor pop3 de gmail.
Solo usaría las funciones PHP imap y haría 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);
?>
Esto se conecta a imap.googlemail.com (servidor imap de googlemail), establece $ sujeto al asunto del primer mensaje y $ a la dirección de origen del primer mensaje. Entonces, marca este mensaje como leído. (No está probado, pero debería funcionar: S)
Zend Framework también tiene la API de Zend_Mail para leer correo. 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
Ejemplo de lectura de mensajes de Zend Framework docs:
$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";
}
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);
?>
Otro buen ejemplo de IMAP está disponible en http://davidwalsh.name/gmail-php-imap