php邮箱接收代码,PHP使用POP3读取邮箱接收邮件
1 <?php2 $array_values[‘host‘] = "host";3 $array_values[‘port‘] = 110;4 $array_values[‘user‘] = ‘用户名‘;5 $array_values[‘password‘] = ‘密码‘;6 $array_values[‘checkmail‘] = [email protected];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 $user = $array_values[‘user‘];15 $password = $array_values[‘password‘];16 $checkmail = $array_values[‘checkmail‘];17 $msg = ‘‘;18 $return_msg = ‘‘;19 //ini_set(‘memory_limit‘, ‘80M‘);
20 if (! ($sock = fsockopen(gethostbyname($host), $port, $errno, $errstr))) {21 exit($errno . ‘: ‘ . $errstr);22 }23
24 set_socket_blocking($sock, true);25
26 $command = "USER " . $user . "\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 . "
";
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 "
";89 var_dump($mail_contents);90 echo "
";91
92 $command = "QUIT\r\n";93 fwrite($sock, $command);94 $msg = fgets($sock);95
96 return $mail_contents;97 }
常用的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 更新 退出
————————————————
原文:https://www.cnblogs.com/crxis/p/12844850.html
php邮箱接收代码,PHP使用POP3读取邮箱接收邮件相关推荐
- java邮件接收代码,JavaMail入门第四篇 接收邮件(示例代码)
上一篇JavaMail入门第三篇 发送邮件中,我们学会了如何用JavaMail API提供的Transport类发送邮件,同样,JavaMail API中也提供了一些专门的类来对邮件的接收进行相关的操 ...
- javamail 读取邮箱邮件并下载附件
java 从邮箱里面把附件拿出来 代码直接用 springboot 项目 <!--Emial--><dependency><groupId>org.springfr ...
- E—MAIL 服务器的安装 smtp发送邮件 pop3读取邮件
SMTP 打开服务器管理器,添加角色和功能,一路点下一步,点到功能,然后安装smtp服务器 安装完毕后,工具栏点击IIS6.0 邮件属性,打开中继限制. 重命名一下域名,用来向本地服务器发送信息 使用 ...
- 用POP3获取邮箱邮件内容,支持SSL验证登陆(完整C#源码)
延续上一篇用POP3获取邮箱邮件内容(C#源码) 上一篇中提到一个问题,网上一般流传的是非SSL验证登陆的,适用163之类的邮箱,但是QQ邮箱一般都是登陆不上的.这次我来提供一个支持SSL验证登陆的方 ...
- spring boot 中使用 POP3协议读取并解析邮件
spring boot 中使用 POP3协议读取并解析邮件 1.邮箱授权 QQ邮箱授权,打开 "设置" 切换到 "账户" 找到下图中设置,开启 "PO ...
- 腾讯企业邮箱服务器地址imap端口号,腾讯企业邮箱如何设置IMAP、POP3/SMTP及其SSL加密方式...
如何设置IMAP.POP3/SMTP及其SSL加密方式? 如果您的电子邮件客户端支持SSL,可以在设置中选择使用SSL. 通用配置参数: (我们已经默认都支持这些协议,用户无需自己手动开启这些服务器与 ...
- qq邮箱隐藏代码html,QQ邮箱原来这么好用,4个隐藏设置格调满满
QQ邮箱是qq的衍生产品,收发邮件是最简单的功能,但是它以QQ号码为用户名显得不太高大上,除了这个问题,小编将教你更多的QQ邮箱用法,绝对提高逼格. 申请英文QQ邮箱首先要解决的,就是QQ邮箱以QQ号 ...
- 初学者の发送QQ邮箱完整代码
需求背景:开发中遇到开启线程在后台运行的功能,想在运行完毕后有个通知,所以就研究了如何使用email发送邮件通知.亲测可用.应该算是比较手把手教学的类型吧?不喜勿喷. 代码由百度搜集拼凑 以下代码正文 ...
- Python模块介绍使用:zmail模块读取邮箱内邮件信息
hello,大家好,我是wangzirui32,今天来教大家如何使用zmail模块读取邮箱内邮件信息,开始学习吧! 1. zmail安装 在命令行中输入以下命令即可安装: pip install zm ...
- Python实现在远端服务器挂代码—发送定时天气预报至邮箱+每日一句(小白教程)
Python实现在远端服务器挂代码-发送定时天气预报至邮箱+每日一句(小白教程) 人生苦短,我用python.下面来讲解一个python每天定时发送天气预报和每日一句至指定邮箱的脚本挂在服务器运行的程 ...
最新文章
- Java Ajax: DWR
- SQL基础【一、SQL简介】
- 《Unit Testing》2.1 经典学派如何做测试隔离
- 不同浏览器隐藏默认表单样式
- ThinkPHP 3.2 版本升级了哪些内容
- pytorch学习笔记(6):GPU和如何保存加载模型
- Java手写线程池(不带返回值、带返回值)
- Teamcenter 入门开发系列问答(5)
- Java版SLG游戏《竜退治2》
- Linux用户-政府篇
- 侠客行java_侠客行
- 三、用python实现平稳时间序列的建模
- 【NLP】自然语言处理的语料库与词库
- java netcdf精度_NetCDF 介绍
- html5页面和app的区别,H5页面与APP区别何在
- 【MyBatis】缓存——使查询变得快快快!
- Java:一般数据结构
- Zookeeper原理详解
- 防Google图书部分代码
- 做车牌识别的摄像头注意事项