PHP使用imap_open实现读取QQ邮箱

 更新时间:2024年02月29日 10:22:35   作者:川哥编程  
这篇文章主要为大家详细介绍了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读取QQ邮箱内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 让PHP开发者事半功倍的十大技巧小结

    让PHP开发者事半功倍的十大技巧小结

    在PHP中,单纯按照自己思路去解决问题往往会是一种错误的办法。这并不是因为你是一个糟糕的程序员,而是因为如果你想写出好的可维护性强的代码,有些标准技巧是你必须要使用的。
    2010-04-04
  • php验证码生成代码

    php验证码生成代码

    这篇文章主要介绍了php验证码生成代码,仅仅只是需要4个步骤就可以轻松搞定:创建验证码底图,显示验证码内容,增加干扰元素,输出验证码,下面我们来进行步骤拆分,需要的朋友可以参考下
    2015-11-11
  • php 调用远程url的六种方法小结

    php 调用远程url的六种方法小结

    php 调用远程url的六种方法,需要的朋友可以参考下。
    2009-11-11
  • PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】

    PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】

    这篇文章主要介绍了PHP global全局变量经典应用与注意事项,结合实例形式分析了php中global全局变量的功能、使用方法及相关操作注意事项,并附带了$GLOBALS用法作为对比,需要的朋友可以参考下
    2019-07-07
  • 提高PHP编程效率的方法

    提高PHP编程效率的方法

    PHP开发中需要注意的问题,这样要吧提高PHP编程效率
    2013-11-11
  • PHP连接Access数据库的方法小结

    PHP连接Access数据库的方法小结

    有时候我们在开发一些小程序或简单功能的管理系统,又没有mysql数据库的情况下,就可以使用access了,这里介绍下链接方法
    2013-06-06
  • PHP使用栈解决约瑟夫环问题算法示例

    PHP使用栈解决约瑟夫环问题算法示例

    这篇文章主要介绍了PHP使用栈解决约瑟夫环问题算法,简单描述了约瑟夫环问题并给出了PHP使用栈解决约瑟夫环的相关算法实现技巧,需要的朋友可以参考下
    2017-08-08
  • php中yii框架实例用法

    php中yii框架实例用法

    在本篇内容里小编给大家整理了一篇关于php中yii框架实例用法及相关知识点,有需要的朋友们可以学习下。
    2020-12-12
  • php通过array_shift()函数移除数组第一个元素的方法

    php通过array_shift()函数移除数组第一个元素的方法

    这篇文章主要介绍了php通过array_shift()函数移除数组第一个元素的方法,涉及php中array_shift()函数操作数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Linux平台PHP5.4设置FPM线程数量的方法

    Linux平台PHP5.4设置FPM线程数量的方法

    这篇文章主要介绍了Linux平台PHP5.4设置FPM线程数量的方法,较为详细的分析了Linux平台php5.4设置FPM的相关参数、功能及使用技巧,需要的朋友可以参考下
    2016-11-11

最新评论