2009-09-06 54 views
13

我如何通過我的php代碼訪問我的Gmail賬戶?我需要從我的gmail帳戶獲得主題和發件人地址。然後我需要將訪問標記爲已讀取gmail 我應該使用gmail pop3 clint嗎?我可以使用任何框架訪問gmail pop3 服務器。通過php代碼訪問我的gmail收件箱

+3

您是否知道如果您接受答案會得到+2分?這3箇中的任何一個都可以工作。選一個。 – stribika 2009-09-12 12:14:44

回答

3

您可以使用PHP的IMAP

<?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

我只想用PHP imap functions,做這樣的事情:

<?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); 
?> 

此連接到imap.googlemail.com(Googlemail電子郵件的IMAP服務器),設置$接受第一個郵件的主題和$從第一條消息的發件人地址。然後,它將此消息標記爲已讀。 (這是未經測試,但它應該工作:S)

1

Zend框架也有Zend_Mail API讀取郵件以及。如果需要,它可以輕鬆切換協議(POP3,IMAP,Mbox和Maildir)。目前只有IMAP和Maildir存儲類支持設置標誌。從Zend框架文檔

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

讀消息例如:

$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

這對我的作品。

<?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); 
?>