Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ConnectionException "LOGIN failed." with office 365 since Microsoft activated two factor auth #705

Open
miguelangelss4 opened this issue Mar 1, 2023 · 2 comments

Comments

@miguelangelss4
Copy link

miguelangelss4 commented Mar 1, 2023

Environment (please complete the following information):

  • PHP IMAP version: 5.0.1
  • PHP Version: 7.4.26
  • Type of execution: wamp local on windows, and apache server

I had this lib working since years ago, but microsoft decided add two factor auth to office 365 accounts, and it broked my connection. I get "LOGIN failed." error when I try to connect:

$server = "{outlook.office365.com:993/imap/ssl}INBOX";
//$server = "{outlook.office365.com:993/imap/ssl/novalidate-cert}INBOX";

$mbox_connection = new PhpImap\Mailbox($server, $email, $password, __DIR__ . '/files/');

try {
    $mailsIds = $mbox_connection->searchMailbox('ALL');
} catch(\Exception $ex) {
    die("<pre>".print_r($ex, true)."</pre>");
}

I had test this two $server address, and many others.

Email is my office 365 account, and password I tested my connection account password, and other password generated in the my account office 365 web:
My account / Security Info / Add sign-in method / App password
In adition, I had activated two factor auth for this account.

I get a ConnectionException:

PhpImap\Exceptions\ConnectionException Object
(
[message:protected] => ["LOGIN failed."]
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => C:\wamp64\www\test-imap\vendor\php-imap\php-imap\src\PhpImap\Imap.php
[line:protected] => 712
[trace:Exception:private] => Array
(
[0] => Array
(
[file] => C:\wamp64\www\test-imap\vendor\php-imap\php-imap\src\PhpImap\Mailbox.php
[line] => 1725
[function] => open
[class] => PhpImap\Imap
[type] => ::
[args] => Array
(
[0] => {outlook.office365.com:993/imap/ssl/novalidate-cert}INBOX
[1] => [EMAIL]
[2] => [PASSWORD]
[3] => 0
[4] => 0
[5] => Array
(
)

                    )

            )

        [1] => Array
            (
                [file] => C:\wamp64\www\test-imap\vendor\php-imap\php-imap\src\PhpImap\Mailbox.php
                [line] => 1686
                [function] => initImapStream
                [class] => PhpImap\Mailbox
                [type] => ->
                [args] => Array
                    (
                    )

            )

        [2] => Array
            (
                [file] => C:\wamp64\www\test-imap\vendor\php-imap\php-imap\src\PhpImap\Mailbox.php
                [line] => 469
                [function] => initImapStreamWithRetry
                [class] => PhpImap\Mailbox
                [type] => ->
                [args] => Array
                    (
                    )

            )

        [3] => Array
            (
                [file] => C:\wamp64\www\test-imap\vendor\php-imap\php-imap\src\PhpImap\Mailbox.php
                [line] => 664
                [function] => getImapStream
                [class] => PhpImap\Mailbox
                [type] => ->
                [args] => Array
                    (
                    )

            )

        [4] => Array
            (
                [file] => C:\wamp64\www\test-imap\index.php
                [line] => 36
                [function] => searchMailbox
                [class] => PhpImap\Mailbox
                [type] => ->
                [args] => Array
                    (
                        [0] => ALL
                    )

            )

    )

[previous:Exception:private] => 
[xdebug_message] => ( ! ) PhpImap\Exceptions\ConnectionException: ["LOGIN failed."] in C:\wamp64\www\test-imap\vendor\php-imap\php-imap\src\PhpImap\Imap.php on line 712

Call Stack
#TimeMemoryFunctionLocation
10.0005365632{main}( )...\index.php:0
20.0009368968PhpImap\Mailbox->searchMailbox( $criteria = 'ALL', $disableServerEncoding = ??? )...\index.php:36
30.0009368968PhpImap\Mailbox->getImapStream( $forceConnection = ??? )...\Mailbox.php:664
40.0009368968PhpImap\Mailbox->initImapStreamWithRetry( )...\Mailbox.php:469

)

@MrMitch
Copy link

MrMitch commented Jun 29, 2023

@miguelangelss4 be careful, i think you just leaked your email address and your password in the exception that you copied, in the [args] section.

You can edit your issue it to censor/remove the information.

@miguelangelss4
Copy link
Author

@MrMitch thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants