УБИРАЯ учетную запись Gmail - PullRequest
0 голосов
/ 06 января 2011

Кто-нибудь знает, как отформатировать curl, чтобы я мог получить доступ к своему gmail и проверить, есть ли какая-нибудь новая почта?

P.S. Извините, я забыл упомянуть одну огромную вещь - я использую PHP, а не консоль! :( Извините!

Ответы [ 3 ]

3 голосов
/ 06 января 2011

С здесь :

curl -u username --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print "\t" if /<name>/; print "$2\n" if /<(title|name)>(.*)<\/\1>/;'

Только что попробовал, и это сработало для меня.cURL - это круто.

Обновление: здесь используется фид атома Gmail для непрочитанных сообщений .Который использует аутентификацию ssl / https и http, поэтому OAuth не требуется.

2 голосов
/ 06 декабря 2012

С помощью этой функции вы можете свернуть RSS-канал / xml вашего gmail с помощью этой функции

function check_email($username, $password)
{ 
    //url to connect to
    $url = "https://mail.google.com/mail/feed/atom"; 
    // sendRequest 
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_USERPWD, $username . ":" . $password);
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_ENCODING, "");
    $curlData = curl_exec($curl);
    curl_close($curl);

    //returning retrieved feed
    return $curlData;
}

Затем вы можете вернуть свои данные, извлекая значения из xml ..

$em = "youremail@gmail.com";
$pw = "yourpassword";
$feed = check_email($em, $pw);
    $x = new SimpleXmlElement($feed);
    echo "<ul>";
        foreach($x->entry as $msg){
            $href = $msg->link->attributes()->href;
            $qmark = strpos($href,"?")+1;
            $qstring = substr($href,$qmark);

            echo "<li><a href=\"step2.php?".$qstring."\">".$msg->title."</a><br />".$msg->summary."</li>";
        }
    echo "</ul>";

Илипросто просмотр канала, в зависимости от того, что вы хотите с ним делать ..

$em = "youremail@gmail.com";
$pw = "yourpassword";
$feed = check_email($em, $pw);
echo $feed;
0 голосов
/ 06 января 2011

Я забираю свой предыдущий ответ, один из приведенных выше символов работает, хотя вам может потребоваться указать -k, чтобы отключить проверку сертификата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...