TOEIC、ソフトウェア開発技術者試験申し込みました。
そろそろ本格的に勉強しないとね。
今日はPHPからPOPサーバーに接続する方法を紹介しましょう。
筆者は以下のようにやってみました。
<?php
$host = "localhost" // 接続ホスト
$user = "user"; // ユーザー名
$pass = "pass"; // パスワード
$sock = fsockopen($host,110,$err,$errno,10) or exit("can't connect pop server");
$buffer = fgets($sock,512);
if(substr($buffer,0,3) != '+OK') exit($buffer);
$buffer = sendmsg("USER $user");
$buffer = sendmsg("PASS $pass");
$data = sendmsg("STAT");
print $data;
sscanf($data,'+OK %d %d',$num,$size);
if($num == "0"){
$buffer = sendmsg("QUIT");
fclose($sock);
exit;
}
for($i=1;$i<=$num;$i++){
$line = sendmsg("RETR $i");
while(!ereg("^\.\r\n",$line)){
$line = fgets($sock,512);
$msg[$i] .= $line;
}
}
$buffer = sendmsg("QUIT");
fclose($sock);
// $msg に配列として格納されます
function sendmsg($command){ // コマンド送信関数
global $sock;
fputs($sock,$command."\r\n");
$buffer = fgets($sock,512);
if(substr($buffer,0,3) == '+OK'){
return $buffer;
} else {
exit($buffer);
}
return false;
}
?>
そろそろ本格的に勉強しないとね。
今日はPHPからPOPサーバーに接続する方法を紹介しましょう。
筆者は以下のようにやってみました。
<?php
$host = "localhost" // 接続ホスト
$user = "user"; // ユーザー名
$pass = "pass"; // パスワード
$sock = fsockopen($host,110,$err,$errno,10) or exit("can't connect pop server");
$buffer = fgets($sock,512);
if(substr($buffer,0,3) != '+OK') exit($buffer);
$buffer = sendmsg("USER $user");
$buffer = sendmsg("PASS $pass");
$data = sendmsg("STAT");
print $data;
sscanf($data,'+OK %d %d',$num,$size);
if($num == "0"){
$buffer = sendmsg("QUIT");
fclose($sock);
exit;
}
for($i=1;$i<=$num;$i++){
$line = sendmsg("RETR $i");
while(!ereg("^\.\r\n",$line)){
$line = fgets($sock,512);
$msg[$i] .= $line;
}
}
$buffer = sendmsg("QUIT");
fclose($sock);
// $msg に配列として格納されます
function sendmsg($command){ // コマンド送信関数
global $sock;
fputs($sock,$command."\r\n");
$buffer = fgets($sock,512);
if(substr($buffer,0,3) == '+OK'){
return $buffer;
} else {
exit($buffer);
}
return false;
}
?>