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,如若转载,请注明出处:http://www.wangzhanshi.com/n/590.html

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

相关推荐

  • 基于PHP封装图片裁剪工具类

    PHP工具类图片裁剪类封装 <?php namespace App\Utils; /** * 图片裁剪工具类 * @author 田小涛 * @date 2020年7月23日…

    php 2024年12月17日
  • PHP7禁用Xdebug的方法

    PHP禁用Xdebug的设置方法:首先进入PHP安装目录;然后找到“/usr/local/php/php.d/xdebug.ini”;接着注释掉“xdebug.ini”里面的语句;…

    2025年1月1日
  • PHP将敏感文字内容替换为星号的操作方法

    在PHP中,将敏感文字用星号替换通常涉及到字符串的搜索和替换操作。你可以使用PHP的内置函数str_replace()来实现这个功能。下面是一个基本的示例,展示如何将特定的敏感词替…

    php 2024年12月17日
  • 如何在PHP7项目中实现一个变量

    php有什么用 php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因…

    php 2025年1月1日
  • 升级php7出现500错误怎么办

    php7 500错误的解决办法:首先查看Nginx的错误日志;然后使用命令“aptitude install php-mbstring php-xml”安装扩展即可。 升级至PHP…

    2025年1月1日
  • PHP7:Mongodb API的使用方法

    编译安装PHP7 Mongdb扩展 #先安装一个依赖库 yum -y install openldap-devel wget https://pecl.php.net/get/mo…

    php 2025年1月1日
  • PHP7性能优化如何提升

    PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想…

    2025年1月1日
  • PHP7内核剖析之I/O模型有哪些

    1.同步:我客户端(C端调用者)一个功能,该功能没有结束前,我死等结果。 2.异步:我(c端调用者)调用一个功能,不知道该功能结果,该功能有结果后通知我,即回调通知 3.阻塞:就是…

    2025年1月1日
  • PHP7性能提升原因有哪些

    PHP7性能提升原因总结: 1、存储变量的结构体变小,尽量使结构体里成员共用内存空间,减少引用,这样内存占用降低,变量的操作速度得到提升。 2、字符串结构体的改变,字符串信息和数据…

    php 2025年1月1日
  • php7的垃圾回收和php5有哪些区别

    php5和php7的垃圾回收机制都是利用引用计数。 什么叫做引用计数? 由于PHP是用C来写的,C里面有一种东西叫做结构体,我们PHP的变量在C中就是用这种方式存储的。 每个PHP…

    php 2025年1月1日

发表回复

登录后才能评论