15

我如何通过我的 php 代码访问我的 gmail 帐户?我需要从我的gmail帐户获取主题和发件人地址。然后我需要在gmail上将访问标记为已读我应该使用gmail pop3 clint吗?这是我可以用来访问gmail pop3服务器的任何框架吗?

4

5 回答 5

14

我只会使用PHP imap 函数并执行以下操作:

<?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 设置为第一封邮件的发件人地址。然后,它将这条消息标记为已读。(它未经测试,但它应该可以工作:S)

于 2009-09-06T15:15:05.107 回答
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);
?>
于 2011-10-25T23:13:41.390 回答
3

另一个不错的 IMAP 示例可在http://davidwalsh.name/gmail-php-imap 获得

于 2011-09-02T22:05:00.553 回答
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);
?>
于 2009-09-06T15:05:21.793 回答
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";
}
于 2009-09-06T15:54:34.037 回答