freescout-help-desk / freescout

FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative)
https://freescout.net
GNU Affero General Public License v3.0
2.75k stars 468 forks source link

connection setup failed #4079

Closed Gawrisch closed 2 weeks ago

Gawrisch commented 2 weeks ago

Hello,

we are using freescout with 5 Mailboxes. From one day to another on a one mailbox when checking the settings, he says "connection setup failed". Nothing has changed with the configuration. Any clue how I could fix this ?

PHP version: FreeScout version: 7.8.33 Database: MySQL Are you using CloudFlare: No Are you using non-official modules: No

freescout-help commented 2 weeks ago

Does it happen all the time or from time to time?

Gawrisch commented 2 weeks ago

unfortunately the error exists since more than one week.

freescout-help commented 2 weeks ago

https://github.com/freescout-helpdesk/freescout/wiki/Fetching-Emails#troubleshooting-fetching

Gawrisch commented 2 weeks ago

Following error-message in the logs. We are not using M365. We are using Exchange on prem. All other accounts work.

Checked the troubleshooting-fetching FAQ, but still :

Date | Event | Error | Mailbox -- | -- | -- | -- Juni 17, 15:35:02 | Fehler beim Empfangen der E-Mail | Error: connection setup failed; File: /www/html/vendor/webklex/php-imap/src/Client.php (391) | Calenso HelpDesk
freescout-help commented 2 weeks ago

Did it work before?

The only way to investigate it is for someone to check on your server or you can create a temporary mail account and send to support@freescout.net

Gawrisch commented 2 weeks ago

Yes, it worked since February and without any change it stopped working. I checked again all Exchange settings.

freescout-help commented 2 weeks ago

Try to change lines 366-370 in /vendor/webklex/php-imap/src/Client.php to:

        } catch (ErrorException $e) {
            throw new ConnectionFailedException("connection setup failed - ".$e->getMessage(), 0, $e);
        } catch (Exceptions\RuntimeException $e) {
            throw new ConnectionFailedException("connection setup failed - ".$e->getMessage(), 0, $e);
        }

After that try to fetch emails again and you should get more detailed error message (post it here).

freescout-help commented 2 weeks ago

Here is the updated /vendor/webklex/php-imap/src/Client.php file, try it to get more detailed error messages: Client.zip

Gawrisch commented 2 weeks ago

Which one of these ?

/assets/install/vendor/symfony/http-kernel/Client.php /assets/install/vendor/webklex/php-imap/src/Client.php /assets/install/vendor/webklex/laravel-imap/src/IMAP/Facades/Client.php /assets/install/overrides/webklex/laravel-imap/src/IMAP/Client.php /assets/install/overrides/guzzlehttp/guzzle/src/Client.php /www/html/vendor/symfony/http-kernel/Client.php /www/html/vendor/webklex/php-imap/src/Client.php /www/html/vendor/webklex/laravel-imap/src/IMAP/Facades/Client.php /www/html/overrides/webklex/laravel-imap/src/IMAP/Client.php /www/html/overrides/guzzlehttp/guzzle/src/Client.php

freescout-help commented 2 weeks ago

/www/html/vendor/webklex/php-imap/src/Client.php

Or you can simply update FreeScout to the latest version. It has already been published.

Gawrisch commented 2 weeks ago

This made my troubleshooting much better. We deleted the account from our exchange server and re-added it. Now it works ! Great support ! Thank you so much.

freescout-help commented 2 weeks ago

Great. So what was the error message and what was the problem?

Gawrisch commented 2 weeks ago

The error message was : Error: connection setup failed: Authentication failed; File: /www/html/vendor/webklex/php-imap/src/Client.php (391)

so I thought : if he is not able to authenticate and all other accounts have the same settings and work, it has something to do with the exchange-account. So, I deleted the user and account and re-added it. Workes as charm. Microsoft is doing strange things sometimes. :-)

jimmie-jam commented 2 weeks ago

I am having this exact same issue, but on a brand new instance of Freescout. I have never been able to get email fetching to work. The error is identical. I've tried a couple of different admin emails (admin emails that manage MS365). But nothing seems to work. all I see is this: Error: connection setup failed: Authentication failed; File: /www/html/vendor/webklex/php-imap/src/Client.php (391)

which is pretty cryptic. I don't know. If all else works and IMAP and SMTP are allowed already on my chosen user email acccount, I am at a loss.

freescout-help commented 2 weeks ago

@jimmie-jam For MS365 you need to use modern oAuth IMAP authentication: https://github.com/freescout-help-desk/freescout/wiki/Connect-FreeScout-to-Microsoft-365-Exchange-via-oAuth

jimmie-jam commented 2 weeks ago

@jimmie-jam For MS365 you need to use modern oAuth IMAP authentication: https://github.com/freescout-help-desk/freescout/wiki/Connect-FreeScout-to-Microsoft-365-Exchange-via-oAuth

Thank you. My biggest issue with this is I don't know the location of the .env file to add the oAuth parameter, or enable debug to troubleshoot. I have asked for that location on another thread, but no one is answering that question.

freescout-help commented 2 weeks ago

There is no such thing as oAuth parameter in .env file. Simply follow the instruction above.