1 <?php 2 $array_values['host'] = "host"; 3 $array_values['port'] = 110; 4 $array_values['ur'] = '用户名'; 5 $array_values['password'] = '密码'; 6 $array_values['checkmail'] = 'xxx@xxx.xxx'; 7 8 ganji_get_test_mail($array_values); 9 10 function ganji_get_test_mail($array_values)11 {12 $host = $array_values['host'];13 $port = $array_values['port'];14 $ur = $array_values['ur'];15 $password = $array_values['password'];16 $checkmail = $array_values['checkmail'];17 $msg = '';18 $return_msg = '';19 // ini_t('memory_limit', '80m');20 if (! ($sock = fsockopen(gethostbyname($host), $port, $errno, $errstr))) {21 exit($errno . ': ' . $errstr);22 }23 24 t_socket_blocking($sock, true);25 26 $command = "ur " . $ur . "\r\n";27 fwrite($sock, $command);28 无线漏油器 $msg = fgets($sock);29 $command = "pass " . $password . "\r\n";30 fwrite($sock, $command);31 $msg = fgets($sock);32 33 $command = "stat\r\n";34 fwrite($sock, $command);35 $return_msg = fgets($sock);36 37 $msg = fgets($sock);38 39 $command = "list\r\n";40 fwrite($sock, $command);41 $all_mails = array();42 while (true) {43 $msg = fgets($sock);44 if (! preg_match('/^\+ok/', $msg) && ! preg_match('/^\./', $msg)) {45 $msg = preg_replace('/\ .*\r\n/', '', $msg);46 array_push($all_mails, $msg);47 }48 if (preg_match('/^\./', $msg))49 惊蛰代表的什么精神 break;50 }51 52 // 获取邮件列表53 $ganji_mails = array();54 foreach ($all_mails as $item) {55 fwrite($sock, "top $item 0\r\n");56 while (true) {57 $msg = fgets($sock);58 // echo $msg . "<br><br>";59 if (preg_match('/^\./', $msg)) {60 array_push($ganji_mails, $item);61 break;62 }63 }64 continue;65 }66 67 $mail_content = '';68 $array_ganji_mails = array();69 70 羽毛球单打规则 //逐行遍历71 foreach ($ganji_mails as $item) {72 fwrite($sock, "retr $item\r\n");73 while (true) {74 $msg = fgets($sock);75 $mail_content .= $msg;76 if (preg_match('/^\./', $msg)) {77 array_push($array_ganji_mails, iconv_mime_decode_headers($mail_content, 0, "utf-8"));78 $mail_content = '';79 观察的名言 break;80 }81 }82 }83 84 // 直接获取第一封邮件全部信息 9999长度85 fwrite($sock, "retr 1\r\n");86 $mail_contents = fread($sock, 9999); // 直接获取全部87 88 echo "<br>";描写日出89 var_dump($mail_contents);90 echo "<br>";91 92 $command = "quit\r\n";93 fwrite($sock, $command);94 $msg = fgets($sock);95 96 return $mail_contents;97 }
常用的pop3命令介绍 :
命令 参数 状态 描述
——————————————
ur urname 认可 此命令与下面的pass命令若成功,将导致状态转换
pass password 认可
apop name,digest 认可 digest是md5消息摘要
——————————————
stat none 处理 请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数
uidl [msg#] 处理 返回邮件的唯一标识符,pop3会话的每个标识符都将是唯一的
list [msg#] 处理 返回邮件数量和每个邮件的大小
retr [msg#] 处理 返回由参数标识的邮件的全部文本
dele [msg#] 处理 服务器将由参数标识的邮件标记为删除,由quit命令执行
rt none 处理 服务器将重置所有标记为删除的邮件,用于撤消dele命令
top [msg#] 处理 服务器将返回由参数标识的邮件前n行内容,n必须是正整数
noop none 处理 服务器返回一个肯定的响应,不做任何操作。
——————————————
quit none 更新 退出
————————————————
本文发布于:2023-04-08 13:58:26,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/ba72730157eb380e489dfa920f8c706f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP使用POP3读取邮箱接收邮件.doc
本文 PDF 下载地址:PHP使用POP3读取邮箱接收邮件.pdf
留言与评论(共有 0 条评论) |