我如何通过我的PHP代码访问我的Gmail帐户?我需要从我的gmail帐户获取主题和发件人地址。然后我需要将访问标记为gmail上的读取 我应该使用gmail pop3 clint吗?是我可以用来访问gmail pop3的任何框架 服务器
答案 0 :(得分:14)
我会使用PHP imap functions并执行以下操作:
<?php
$mailbox = imap_open("{imap.googlemail.com:993/ssl}INBOX", "USERNAME@googlemail.com", "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服务器),将$ subject设置为第一条消息的主题,将$ from设置为第一条消息的from地址。然后,它将此消息标记为已读。 (它未经测试,但应该工作:S)
答案 1 :(得分:4)
这适合我。
<?php
$yourEmail = "you@gmail.com";
$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);
?>
答案 2 :(得分: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);
?>
答案 3 :(得分:3)
答案 4 :(得分:1)
Zend Framework也有Zend_Mail API来读取邮件。如果需要,可以轻松切换协议(POP3,IMAP,Mbox和Maildir)。目前只有IMAP和Maildir存储类支持设置标志。
http://framework.zend.com/manual/en/zend.mail.read.html
阅读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";
}