无法使用php imap从gmail获取收件箱

nwnhqdif  于 2024-01-05  发布在  PHP
关注(0)|答案(1)|浏览(297)

你好,伙计们,我试图使用PHP的imap来获取电子邮件,但我得到Network is unreachable错误
这是我的代码

  1. <h1>Gmail Email Inbox using PHP with IMAP</h1>
  2. <?php
  3. if (! function_exists('imap_open')) {
  4. echo "IMAP is not configured.";
  5. exit();
  6. } else {
  7. ?>
  8. <div id="listData" class="list-form-container">
  9. <?php
  10. /* Connecting Gmail server with IMAP */
  11. $connection = imap_open('{imap.gmail.com:993/imap/ssl}INBOX', 'My correct email address here', 'My correct password here') or die('Cannot connect to Gmail: ' . imap_last_error());
  12. /* Search Emails having the specified keyword in the email subject */
  13. $emailData = imap_search($connection, 'SUBJECT "Article "');
  14. if (! empty($emailData)) {
  15. ?>
  16. <table>
  17. <?php
  18. foreach ($emailData as $emailIdent) {
  19. $overview = imap_fetch_overview($connection, $emailIdent, 0);
  20. $message = imap_fetchbody($connection, $emailIdent, '1.1');
  21. $messageExcerpt = substr($message, 0, 150);
  22. $partialMessage = trim(quoted_printable_decode($messageExcerpt));
  23. $date = date("d F, Y", strtotime($overview[0]->date));
  24. ?>
  25. <tr>
  26. <td><span class="column">
  27. <?php echo $overview[0]->from; ?>
  28. </span></td>
  29. <td class="content-div"><span class="column">
  30. <?php echo $overview[0]->subject; ?> - <?php echo $partialMessage; ?>
  31. </span><span class="date">
  32. <?php echo $date; ?>
  33. </span></td>
  34. </tr>
  35. <?php
  36. } // End foreach
  37. ?>
  38. </table>
  39. <?php
  40. } // end if
  41. imap_close($connection);
  42. }
  43. ?>
  44. </div>

字符串
我应该从我的gmail帐户收到电子邮件,并显示在html中看到的代码上面。请大家让我们表现出一些爱。

k97glaaz

k97glaaz1#

好吧,问题不是来自我的代码,而是最初说不可访问时,它是基于一个封闭的端口993.并在获得证书错误和身份验证失败无效的身份验证.这是在Gmail的结束.我不知道如果打开不太安全的应用程序将解决这个问题,因为我也找不到它.我的意思是Gmail不支持验证与纯文本作为电子邮件和密码.他们使用OAUTH如果你要连接到Gmail,你必须使用它,否则Gmail将无法连接。我在多次尝试后发现。希望这能帮助其他沮丧的用户。如果你需要连接Gmail,请使用OAuth,在我的情况下效果很好。

相关问题