1

Gmailへのログイン、受信トレイの表示、連絡先の取得などに関する情報はたくさんありますが、メール自体を変数に入れる方法がわからないため、PHPで処理できます。

これが私が持っているものです:

function inbox($username, $password){ 
    $url = "https://mail.google.com/mail/feed/atom"; 
    $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);
    return $curlData;
}
//calling the function
$em = "email@gmail.com";
$pw = "pass";
$feed = inbox($em, $pw);
    $x = new SimpleXmlElement($feed);
    echo "<ul>";
        foreach($x->entry as $msg){
            //extracting the link to the message from xml
            $href = $msg->link->attributes()->href;
            //create a link to the message and display title, summary    
            echo "<li><a href=\"".$href."\">".$msg->title."</a><br />".$msg->summary."</li>";
        }
    echo "</ul>";

作成したリンクをクリックすると、Gmailでメッセージが開きます。文字列/変数でメッセージのhtmlにアクセスしたい。いろいろやってみました。メッセージリンクを別のページに転送してcurlで開くようにしましたが、メッセージを表示する代わりに、Googleはメッセージへのさらに別のリンクを含むHTMLを送信します。リンクをブラウザでもう一度クリックすると、Gmailで開きますが、このリンクに3回カールしようとすると、空白のページが表示されます。

重要なのは、私の作業サーバーではimap / popが有効になっておらず、cURLがこれを達成できると私が知っている最後の考えです。

4

1 に答える 1

1

最終的にimapをリモートで使用し、問題のサーバーにcURLで戻しました。GmailではcURL経由でのメッ​​セージの送信は許可されていないと判断しました。これは、フレームが許可されていない場所など、Googleのものの1つです。

于 2012-12-07T06:42:48.113 に答える