15

PHPコードからGmailアカウントにアクセスするにはどうすればよいですか? 件名と差出人アドレスを Gmail アカウントから取得する必要があります。次に、Gmail でアクセス済みを既読としてマークする必要があります。Gmail pop3 clint を使用する必要がありますか?

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 に答える
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 に答える
3

別の素敵な IMAP の例がhttp://davidwalsh.name/gmail-php-imapにあります。

于 2011-09-02T22:05:00.553 に答える
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 に答える