|
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邮箱内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|