翼度科技»论坛 编程开发 PHP 查看内容

PHP使用imap_open实现读取QQ邮箱

11

主题

11

帖子

33

积分

新手上路

Rank: 1

积分
33
PHP代码:
  1. /**
  2.         PHP使用imap_open读取QQ邮箱
  3.        
  4.         imap_open 官方文档:
  5.         https://www.php.net/function.imap_open
  6. */

  7. function parse_mailstr($subject) {
  8.         $a = explode('?',$subject);
  9.         $n = count($a);
  10.         $a = $a[$n-2];
  11.         return base64_decode($a);
  12. }

  13. function recevie_email() {
  14.        
  15.         // 腾讯 QQ 邮箱为例。
  16.         // 官方文档:https://service.mail.qq.com/detail/0/339
  17.         $mailbox = '{imap.qq.com:993/imap/ssl}INBOX';
  18.        
  19.         // 要读取的邮箱
  20.         $user = 'youremail@qq.com';
  21.        
  22.         // 邮箱密码或授权码。邮箱授权码生成路径如下:
  23.         // 进入 QQ 邮箱,依次进入【设置】-【账号】-【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务-管理服务】-【安全设置】-【生成授权码】
  24.         $password = '邮箱密码或授权码';
  25.        
  26.         $inbox = imap_open($mailbox, $user, $password) or die(imap_last_error());
  27.         if ($inbox) {
  28.                
  29.                 $numMsg = imap_num_msg($inbox);
  30.                 echo '<dt>共有 '.$numMsg.' 条未读邮件</dt>';

  31.                 for ($i = 1; $i <= $numMsg; ++$i) {
  32.                         $hd = imap_headerinfo($inbox, $i);

  33.                         $subject = parse_mailstr($hd->subject);

  34.                         echo '<dd>';
  35.                         echo "标  题:$subject <br />";
  36.                         echo '发件人:'. $hd->from[0]->mailbox .'@'. $hd->from[0]->host .'<br />';
  37.                         if (isset($hd->date)) {
  38.                                 $date = strtotime($hd->date);
  39.                                 $date = date('Y-m-d H:i:s',$date);
  40.                                 echo "时 间:$date <br />";
  41.                         }
  42.                         echo '</dd>';
  43.                 }

  44.                 imap_close($inbox);
  45.         }
  46. }
复制代码
HTML代码:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <meta name="viewport" content="width=device-width,user-scalable=yes" />
  6. <meta name="renderer" content="webkit" />
  7. <style>
  8. dd{
  9.         border-bottom: 1px solid #888;
  10.     padding-bottom: 10px;
  11.     padding-top: 10px;
  12. }
  13. </style>
  14. <title>PHP使用imap_open读取QQ邮箱</title>
  15. </head>
  16. <body>
  17.         <dl>
  18.                 <?php recevie_email();?>
  19.         </dl>
  20. </body>
  21. </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】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具