Доступ к моему почтовому ящику gmail через php-код

Как я могу получить доступ к моей учетной записи gmail через мой php-код? Мне нужно получить тему и адрес из моей учетной записи gmail. И тогда мне нужно отметить доступ как прочитанный в gmail Должен ли я использовать gmail pop3 clint? - это любая инфраструктура, которую я могу использовать для доступа к gmail pop3 сервер.

Ответы

Ответ 1

Я бы просто использовал PHP imap-функции и сделал что-то вроде этого:

<?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 server), устанавливает $subject для темы первого сообщения и $from на адрес от первого сообщения. Затем он отмечает это сообщение как прочитанное. (Он не проверен, но он должен работать: S)

Ответ 2

Это работает для меня.

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

Ответ 3

Вы можете использовать IMAP из 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);
?>

Ответ 5

Zend Framework имеет API Zend_Mail для чтения почты. Это позволяет легко переключаться между протоколами (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";
}