太空铝阳台洗衣柜 发表于 2024-4-13 16:54:58

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->mailbox .'@'. $hd->from->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邮箱内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/program/316644vbg.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: PHP使用imap_open实现读取QQ邮箱