PHP使用imap_open实现读取QQ邮箱

PHP代码:

/** 
	PHP使用imap_open读取QQ邮箱
	
	imap_open 官方文档:
	https://www.php.net/function.imap_open
*/
 
function parse_mailstr($subject) {
	$a = explode('?',$subject);
	$n = count($a);
	$a = $a[$n-2];
	return base64_decode($a);
}
 
function recevie_email() {
	
	// 腾讯 QQ 邮箱为例。
	// 官方文档:https://service.mail.qq.com/detail/0/339
	$mailbox = '{imap.qq.com:993/imap/ssl}INBOX';
	
	// 要读取的邮箱
	$user = 'youremail@qq.com';
	
	// 邮箱密码或授权码。邮箱授权码生成路径如下:
	// 进入 QQ 邮箱,依次进入【设置】-【账号】-【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务-管理服务】-【安全设置】-【生成授权码】
	$password = '邮箱密码或授权码';
	
	$inbox = imap_open($mailbox, $user, $password) or die(imap_last_error());
	if ($inbox) {
		
		$numMsg = imap_num_msg($inbox);
		echo '<dt>共有 '.$numMsg.' 条未读邮件</dt>';
 
		for ($i = 1; $i <= $numMsg; ++$i) {
			$hd = imap_headerinfo($inbox, $i);
 
			$subject = parse_mailstr($hd->subject);
 
			echo '<dd>';
			echo "标  题:$subject <br />";
			echo '发件人:'. $hd->from[0]->mailbox .'@'. $hd->from[0]->host .'<br />';
			if (isset($hd->date)) {
				$date = strtotime($hd->date);
				$date = date('Y-m-d H:i:s',$date);
				echo "时 间:$date <br />";
			}
			echo '</dd>';
		}
 
		imap_close($inbox);
	}
}

HTML代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width,user-scalable=yes" />
<meta name="renderer" content="webkit" />
<style>
dd{
	border-bottom: 1px solid #888;
    padding-bottom: 10px;
    padding-top: 10px;
}
</style>
<title>PHP使用imap_open读取QQ邮箱</title>
</head>
<body>
	<dl>
		<?php recevie_email();?>
	</dl>
</body>
</html>

获得邮箱授权码方法:

进入 QQ 邮箱,依次进入【设置】-【账号】-【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务-管理服务】-【安全设置】-【生成授权码】。

PHP使用imap_open实现读取QQ邮箱

PHP使用imap_open实现读取QQ邮箱

到此这篇关于PHP使用imap_open实现读取QQ邮箱的文章就介绍到这了,更多相关PHP读取QQ邮箱内容请搜索恩蓝小号以前的文章或继续浏览下面的相关文章希望大家以后多多支持恩蓝小号!

原创文章,作者:JJNYZ,如若转载,请注明出处:https://www.wangzhanshi.com/n/590.html

(0)
JJNYZ的头像JJNYZ
上一篇 2024年12月17日 17:53:03
下一篇 2024年12月17日 17:53:05

相关推荐

  • PHP使用puppeteer抓取JS渲染后的页面内容

    最近遇到一个问题,需要爬取js渲染后的网页内容,因此研究了下相关实现方式。主要借助puppeteer实现,它是一个Node库,要想在PHP中使用,还借助了spatie/browse…

    php 2025年2月24日
  • PHP5常用函数列表分享

    如下所示: 复制代码 代码如下:   usleep() 函数延迟代码执行若干微秒。  unpack() 函数从二进制字符串对数据进行解包。  uniqid() 函数基于以微秒计的当…

    php 2025年1月2日
  • 如何在Linux中安装卸载php7

    Linux简介 Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴…

    2025年1月1日
  • PHP7 新增intdiv()函数的使用方法

    PHP 7 新增加了 intdiv() 函数,intdiv代表整数除法即对除法结果取整。这个函数返回给定被除数和除数除法的整数商。该函数从内部删除被除数的余数,使其能被除数整除并在…

    php 2025年1月1日
  • ubuntu12上如何安装php5

    ubuntu12上安装php5的方法:1、创建用户;2、安装依赖包;3、编译安装php;4、修改配置文件并启动php。 本文操作环境:Ubuntu12.04系统、PHP5.5版、D…

    php 2025年1月2日
  • 如何在PHP7项目中安装event扩展

    安装 Libevent 库 php event 扩展 依赖 Libevent 库,需要先编译安装(注意是 Libevent 库,非 libevent 扩展)。 git c…

    php 2025年1月1日
  • 关于php7.0下Sqli-labs搭建的小问题

    由于前文中kali版本较新,默认安装的是php7.0(this is the problem)PHP 5 的使用者可以使用 mysql extension,mysqli 和 PDO…

    php 2025年1月1日
  • php7配置mysqli和使用mysqli连接mysql的方法

    php7配置mysqli和使用mysqli连接mysql 如果使用了wamp和lamp环境搭建了php web一般不易遇到这样的问题: php7 Class ‘mysqli’ no…

    php 2025年1月1日
  • PHP7带来了哪些好处

    本文是一篇讲座听后+后续研究的总结。 话说当年追时髦,php7一出就给电脑立马装上了,php5和php7共存,也是立马写了个超级耗时间的循环脚本测了一番,确实php7给力很多,然后…

    2025年1月1日
  • 基于PHP7错误处理与异常处理的示例分析

    PHP7错误处理 PHP 7 改变了大多数错误的报告方式。不同于传统(PHP 5)的错误报告机制,现在大多数错误被作为 Error 异常抛出。 这种 Error 异常可以像 Exc…

    php 2025年1月1日

发表回复

登录后才能评论