Метод IMAP imap_open () не выполнен с ошибкой [дубликат]

Хеш-рандомизация включена по умолчанию в Python 3 . Это функция безопасности:

Хэш-рандомизация предназначена для обеспечения защиты от отказа в обслуживании, вызванного тщательно подобранными входами, которые используют наихудшую производительность конструкции dict

blockquote>

В предыдущих версиях 2.6.8 вы можете включить его в командной строке с параметром -R или PYTHONHASHSEED .

Вы можете выключите его, установив PYTHONHASHSEED в ноль.

19
задан Clint Miller 13 August 2009 в 23:14
поделиться

8 ответов

Еще одна дополнительная вещь, которую нужно включить в PHP, - это расширение OpenSSL . По-видимому, это зависит от клиентской библиотеки IMAP (с SSL).

Не имеет значения, включен ли в Apache модуль OpenSSL, как это обрабатывается / обрабатывается до того, как запрос передается на PHP.

Следующая дискуссия может помочь пролить свет:

http://groups.google.com/group/comp.lang.php/browse_thread/thread/241e619bc70a8bf4/ bd3ae0c6a82409bc LNK = raot & амп;? пли = 1

11
ответ дан Jordan S. Jones 25 August 2018 в 05:53
поделиться
  • 1
    Борясь с этим прямо сейчас; +1 для подсказки OpenSSL. – Ben 29 December 2010 в 03:41
  • 2
    Я получаю подобные предупреждения. как вы, люди, решили это. OpenSSL включен на моем сервере. – Ramaraju.d 13 September 2013 в 09:52

Если у вас все еще есть проблемы с этим в gmail, включите «Разрешить доступ для менее безопасных приложений» на странице настроек безопасности учетных записей google.

0
ответ дан abdul01 25 August 2018 в 05:53
поделиться
  • 1
    У него были проблемы с ssl, 6 лет назад, а не проблемы входа. – Max 24 September 2015 в 04:32
  • 2
    В последнее время у меня была аналогичная проблема, и даже после того, как я попробовал все d-решения, перечисленные здесь, это было только после того, как я включил «Разрешить доступ для менее безопасных приложений». на моей странице настроек безопасности учетных записей google, в которой проблема была решена – abdul01 24 September 2015 в 10:04

У меня была такая же проблема. Я использую окна и wamp, и расширение wamp openview открыто.

Я удалил эту проблему, используя следующие шаги. Я надеюсь, что это сработает и для вас.

1) Вход в систему через браузер для учетной записи gmail.

2) Откройте этот URL " https://www.google.com/settings/security/lesssecureapps "

3) Нажмите «включить» "

4) попробуйте выполнить код

<?php

set_time_limit(4000);


// Connect to gmail
//$imapPath = '{imap.gmail.com:993/imap/ssl}INBOX';
$imapPath = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX';
$username = 'your-emai-address@gmail.com';
$password = 'Your-password';

// try to connect
$inbox = imap_open($imapPath,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
   /* ALL - return all messages matching the rest of the criteria
    ANSWERED - match messages with the \\ANSWERED flag set
    BCC "string" - match messages with "string" in the Bcc: field
    BEFORE "date" - match messages with Date: before "date"
    BODY "string" - match messages with "string" in the body of the message
    CC "string" - match messages with "string" in the Cc: field
    DELETED - match deleted messages
    FLAGGED - match messages with the \\FLAGGED (sometimes referred to as Important or Urgent) flag set
    FROM "string" - match messages with "string" in the From: field
    KEYWORD "string" - match messages with "string" as a keyword
    NEW - match new messages
    OLD - match old messages
    ON "date" - match messages with Date: matching "date"
    RECENT - match messages with the \\RECENT flag set
    SEEN - match messages that have been read (the \\SEEN flag is set)
    SINCE "date" - match messages with Date: after "date"
    SUBJECT "string" - match messages with "string" in the Subject:
    TEXT "string" - match messages with text "string"
    TO "string" - match messages with "string" in the To:
    UNANSWERED - match messages that have not been answered
    UNDELETED - match messages that are not deleted
    UNFLAGGED - match messages that are not flagged
    UNKEYWORD "string" - match messages that do not have the keyword "string"
    UNSEEN - match messages which have not been read yet*/

// search and get unseen emails, function will return email ids
$emails = imap_search($inbox,'UNSEEN');

$output = '';

foreach($emails as $mail) {

    $headerInfo = imap_headerinfo($inbox,$mail);

    $output .= $headerInfo->subject.'<br/>';
    $output .= $headerInfo->toaddress.'<br/>';
    $output .= $headerInfo->date.'<br/>';
    $output .= $headerInfo->fromaddress.'<br/>';
    $output .= $headerInfo->reply_toaddress.'<br/>';

    $emailStructure = imap_fetchstructure($inbox,$mail);
    //var_dump($emailStructure->parts);
    if(isset($emailStructure->parts)) {
         $output .= imap_body($inbox, $mail, FT_PEEK);
    } else {
        //    
    }
   echo $output;
   $output = '';
}

// colse the connection
imap_expunge($inbox);
imap_close($inbox);


?>

BEST OF LUCK. :)

7
ответ дан Adnan Ahmad 25 August 2018 в 05:53
поделиться

имел ту же проблему с персональным доменом в приложениях Google. Проблема была решена путем изменения доступа к учетной записи. Просто следуйте по ссылке и включите доступ к учетной записи.

3
ответ дан Anton Danilov 25 August 2018 в 05:53
поделиться
  • 1
    работал на меня, также используя персональный домен (Gmail для бизнеса) – Bryan 2 May 2016 в 08:47

Проверьте настройки с помощью phpinfo() и убедитесь, что вы видите --with-imap-ssl.

0
ответ дан ayman 25 August 2018 в 05:53
поделиться
  • 1
    Я сам не строю PHP. Я установил его с помощью apt-get. Все блоги, которые я прочитал, указывают на то, что если я сделаю & apt-get install php5-imap & quot; то он будет работать. Возможно, мне придется отказаться от этого подхода и самостоятельно скомпилировать PHP. Я попробую это сегодня вечером. – Clint Miller 14 August 2009 в 22:42
  • 2
    проверка phpinfo () сообщит вам, включен ли SSL. Похоже, что он больше не может быть включен по умолчанию. – TheJacobTaylor 20 August 2009 в 05:57
  • 3
    У вас должно быть openssl в phpinfo (я считаю, что это то, что использует IMAP): openssl Поддержка OpenSSL включена OpenSSL Version OpenSSL 0.9.7i 14 октября 2005 г. – TheJacobTaylor 20 August 2009 в 05:59

Это сработало для меня после долгого усилия:

$ServerName = "{imap.gmail.com:993/imap/ssl/novalidate-cert/norsh}Inbox";
9
ответ дан Ben 25 August 2018 в 05:53
поделиться
  • 1
    Windows Ultimate x64, Apache 2.2, PHP 5.2.8: {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX работает. – Ben 29 December 2010 в 06:20
  • 2
    Windows Vista x64, Apache 2.2, PHP 5.2.8: {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX работает. – Ben 29 December 2010 в 06:21

Запустите свой код из командной строки и посмотрите, сбрасывает ли php наши другие ошибки:

php -f gmail.php

На моем Ubuntu я сделал:

sudo apt-get install php5-imap

И система установила : libc-client2007b mlock libc-client2007b mlock php5-imap

Затем о том, как удалить php5 и переустановить его.

1
ответ дан Derick Schoonbee 25 August 2018 в 05:53
поделиться
  1. Сначала включите менее защищенные приложения в своей учетной записи Gmail: https://myaccount.google.com/lesssecureapps
  2. Использовать эту конфигурацию для создания IMAP-соединения:
    $imap_connection = imap_open('{imap.gmail.com:993/imap/ssl/novalidate-
    cert}INBOX', 'YOUR GMAIL USER', 'YOUR GMAIL PASSWORD');
    

Примечание: INBOX является вашим основным входом, например, вы можете получить доступ к сообщениям с помощью: INBOX.Sent в вашем соединении.

0
ответ дан Esteban 25 August 2018 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: