Net_POP3でgmail
Family, Google, PHP August 11th, 2008
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のメールサーバを使って独自ドメインサービスをやっている場合、これで自分のサーバで空メールのサービスを立ち上げるときなどに使えるので、まあメモということで。