以 PHP 實現 POP3 authentiication

如果什麼認證都要架RADIUS就太麻煩啦!!
在沒有資料庫的狀況下要做到即時認證, 就只有借用其他既有的認證機制囉!!

<?php
function CheckPOP3($server, $id, $passwd, $port = 110)
{
//若任一欄位為空白則無效
if (empty($server) || empty($id) || empty($passwd))
return false;
// connect to POP3 Server
$fs = fsockopen ($server, $port, &$errno, &$errstr, 5);
// check if connection valid
if (!$fs)
return false;
//connected..
$msg = fgets($fs,256);
// step 1. send ID
fputs($fs, "USER $id\r\n");
$msg = fgets($fs,256);
if (strpos($msg,"+OK")===false)
return false;
// step 2. send password
fputs($fs, "PASS $passwd\r\n");
$msg = fgets($fs,256);
if (strpos($msg,"+OK")===false)
return false;
//step 3. auth passwd, QUIT
fputs($fs, "QUIT \r\n");
fclose($fs);
return true;
}
?>

Basic POP3 Command:

  1. USER 帳號
  2. PASS 密碼
  3. STAT 狀態
  4. UIDL 郵件列表
  5. RETR 接受郵件
  6. DELE 刪除
  7. QUIT 離線

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *