T

Net_POP3でgmail

PEARのNet_POP3でGmailからメールを受信するのはこんな感じでできる。実行環境で「ssl://」で始まるデータストリーム型がサポートされていれば問題ない。調べるには

$ php -i | grep "Stream Socket"
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, sslv3, sslv2, tls

このようにsslが表示されていればいい。

スクリプトは、例えば

<?php
require_once 'Net/POP3.php';
$host = 'ssl://pop.gmail.com';
$port = '995';
$user = 'Gmailのメールアドレス';
$pass = 'パスワード';

$pop = new Net_POP3();
$pop->connect($host, $port);
$pop->login($user, $pass, USER);
//成功したら配列が、失敗したらfalseが返る
$messages = $pop->getListing();
if($messages){
        foreach($messages as $k => $row){
                $id = $row['msg_id'];
                //特にやることもないのでとりあえず配列に入れる
                $mail[] = $pop->getMsg($id);
        }
}
$pop->disconnect();
print_r($mail);
exit;
?>

こんな風になる。

今さらなんだよ、という向きもあるかもしれないが、例えばGoogleのメールサーバを使って独自ドメインサービスをやっている場合、これで自分のサーバで空メールのサービスを立ち上げるときなどに使えるので、まあメモということで。

Posted by on 8月 11, 2008 in Family, Google, PHP

コメントを残す