PHP 使用POP3 接收邮件

以下对几个常用的POP3命令作一个简单的介绍 : 

命令    参数    状态    描述 

------------------------------------------ 

USER    username  认可    此命令与下面的pass命令若成功,将导致状态转换 

PASS    password  认可 

APOP    Name,Digest 认可    Digest是MD5消息摘要 

------------------------------------------ 

STAT    None    处理    请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数 

UIDL    [Msg#]   处理    返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的 

LIST    [Msg#]   处理    返回邮件数量和每个邮件的大小 

RETR    [Msg#]   处理    返回由参数标识的邮件的全部文本 

DELE    [Msg#]   处理    服务器将由参数标识的邮件标记为删除,由quit命令执行 

RSET    None    处理    服务器将重置所有标记为删除的邮件,用于撤消DELE命令 

TOP    [Msg#]    处理    服务器将返回由参数标识的邮件前n行内容,n必须是正整数 

NOOP    None    处理    服务器返回一个肯定的响应,不做任何操作。 

------------------------------------------ 

QUIT    None    更新 退出


代码实现


"; if (preg_match('/^\./', $msg)) { array_push($ganji_mails, $item); break; } } continue; } $mail_content = ''; $array_ganji_mails = array(); // 逐行遍历 // foreach ($ganji_mails as $item) { // fwrite($sock, "RETR $item\r\n"); // while (true) { // $msg = fgets($sock); // $mail_content .= $msg; // if (preg_match('/^\./', $msg)) { // array_push($array_ganji_mails, iconv_mime_decode_headers($mail_content, 0, "UTF-8")); // $mail_content = ''; // break; // } // } // } // 直接获取第一封邮件全部信息 9999长度 fwrite($sock, "RETR 1\r\n"); $mail_contents = fread($sock, 9999); // 直接获取全部 echo "
"; var_dump($mail_contents); echo "
"; $command = "QUIT\r\n"; fwrite($sock, $command); $msg = fgets($sock); return $mail_contents; }

你可能感兴趣的:(php)