šŸ”“ January 2024 Alert: Forum support inactive!
New forum registration are currently closed.
Use GitHub discussions
.

    UVdesk

    • Login
    • Search
    • Recent

    Unsolved Warning: Trying to access array offset on value of type null when trying to refresh a mailbox

    Technical Help
    3
    24
    4620
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      escozul last edited by peopleinside

      Hello,

      I followed this guide to setup my mailbox: https://www.uvdesk.com/en/blog/setup-gmail-mailbox-uvdesk-open-source-helpdesk/ but when I try to run the php command that should refresh the mailbox and create the tickets I get the following output:

      php bin/console uvdesk:refresh-mailbox support_mailbox@domain.ext
      
      # Retrieving mailbox configuration details for support_mailbox@domain.ext:
      
        - Establishing connection with mailbox
        - Fetching all emails since 09 December 2023
        - Found a total of 1 emails in mailbox since 09 December 2023
      
        # Processing all found emails iteratively:
      
          API https://uvdesk.example.com/mailbox/listener
      
          - Processing email 1 of 1:
        An unexpected error occurred: Warning: Trying to access array offset on value of type null
      

      It seems that it connects to the mailbox just fine, retrieves the emails just fine but has trouble creating the tickets.
      Yes the specified mailbox contains just one email which is a test email. It should be imported and made into a ticket.
      So the 1 of 1 part is correct.
      I sent a second one, and same deal. processint email 1 of 2 and then ... error.

      The emails in the mailbox are marked as "read" when I run the php command. Which means it's not a credentials issue.

      I see that API https://uvdesk.example.com/mailbox/listener
      What is this? Should I have enabled the API so that uvdesk can process icomming emails?
      Something else?

      peopleinside E 2 Replies Last reply Reply Quote 0
      • peopleinside
        peopleinside EX helping member @escozul last edited by

        @escozul
        Hi, thank you for your question!

        I edited your message just to remove the email addresses. Masked them to prevent you from the potential spam.

        What version of UVdesk and PHP are you using?
        Be sure to use a supported and updated PHP version: https://www.php.net/supported-versions.php

        Suggested PHP 8.2 or PHP 8.3

        An old PHP version can be part of the issue, if is not you can also check the following topic: How to debug errors and email fetching errors

        šŸ’¬ You can also ask help on GitHub Discussions
        šŸ”“ I am no more active on Uvdesk
        šŸ”“ Forum support is inactive!

        1 Reply Last reply Reply Quote 0
        • E
          escozul @escozul last edited by

          @peopleinside Thanks for the reply.

          Also, I appreciate the email masking, but I was already using invalid emails and domains šŸ™‚

          my server uses php 8.1 as default but supports 8.2 and 8.3.
          The site is set to 8.3
          When running terminal I use 8.1 (php defaults to 8.1)
          but I tried forcing to use 8.3 by modifying the php command to php8.3 bin/console uvdesk:refresh-mailbox support_mailbox@domain.ext but I got the same error.

          peopleinside 1 Reply Last reply Reply Quote 0
          • peopleinside
            peopleinside EX helping member @escozul last edited by

            @escozul so the PHP version looks are ok.
            Do you have setup UVdesk running the online wizard?

            In the wizard all checks was green?
            php mailparse extension is active in your running PHP?

            You can try also to give a look at the link above I give to you.
            The email that appear in UVdesk operator dashboard under settings is the correct support email?

            Your email has special characters in the password? If yes maybe you need to remove special characters from the password.

            šŸ’¬ You can also ask help on GitHub Discussions
            šŸ”“ I am no more active on Uvdesk
            šŸ”“ Forum support is inactive!

            1 Reply Last reply Reply Quote 0
            • E
              escozul last edited by

              @peopleinside Hello,

              I was forced to complete the setup using terminal when I had that issue with the vhost. Once I corrected it the uvdesk started working properly but I had skipped the wizard. However, php mailparse is installed (you have to install it even if you try to complete the installation using terminal. You actually get prompted to install maiplarse during the composer installation phase.)
              The email is the correct email and the error appears AFTER the php command opens the first email. That first email is then marked as read. If there are more than one emails in the inbox, I get a 1 of 2 emails processing, the first one is marked as read but still get the error and the process quits.

              I still wonder what that API https://uvdesk.example.com/mailbox/listener part of the echo is...

              peopleinside 2 Replies Last reply Reply Quote 0
              • peopleinside
                peopleinside EX helping member @escozul last edited by

                @escozul

                The error you are reporting seems is the same discussed here:
                https://forums.uvdesk.com/topic/2132/an-unexpected-error-fetching-email

                The discussion has been marked as solved but I don't see a real solution to this.
                In the topic mentioned also UVdesk Staff has replied but no fix and no solution.

                I'm sorry but is UVdesk team staff that should provide a reply and a solution to this.
                I don't know how to help you.

                I'm sad also the topic mentioned has no more updates from UVdesk staff.

                šŸ’¬ You can also ask help on GitHub Discussions
                šŸ”“ I am no more active on Uvdesk
                šŸ”“ Forum support is inactive!

                1 Reply Last reply Reply Quote 0
                • Referenced by  peopleinside peopleinside 
                • peopleinside
                  peopleinside EX helping member @escozul last edited by

                  @escozul Try to see also the following topic, there seems the user has found how to resolve.

                  https://forums.uvdesk.com/topic/2184/mail-retrieval-error/14?_=1702370612730

                  The call to the API is not made on HTTPS, despite the redirection...
                  So in my case it's a problem with the HTTP server settings!

                  šŸ’¬ You can also ask help on GitHub Discussions
                  šŸ”“ I am no more active on Uvdesk
                  šŸ”“ Forum support is inactive!

                  peopleinside 1 Reply Last reply Reply Quote 0
                  • peopleinside
                    peopleinside EX helping member @peopleinside last edited by

                    Another possibile useful topic:
                    https://forums.uvdesk.com/topic/2209/issue-fetching-email

                    šŸ’¬ You can also ask help on GitHub Discussions
                    šŸ”“ I am no more active on Uvdesk
                    šŸ”“ Forum support is inactive!

                    1 Reply Last reply Reply Quote 0
                    • E
                      escozul last edited by escozul

                      @peopleinside
                      Thank you for all these topics. Still browsing through them to figure out if there is a similar resolution. In my case the call to https is made properly so I don't think the issue is there.

                      Also I went over to the logs and captured all the errors and warnings that come up when I try to fetch the emails. Here are my logs:

                      [2023-12-12T14:47:44.439482+01:00] deprecation.INFO: User Deprecated: Method "Symfony\Component\HttpKernel\Bundle\Bundle::getContainerExtension()" might add "?ExtensionInterface" as a native return type declaration in the future. Do the same in child class "Webkul\UVDesk\CoreFrameworkBundle\UVDeskCoreFrameworkBundle" now to avoid errors or add an explicit @return annotation to suppress this message. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Method \"Symfony\\Component\\HttpKernel\\Bundle\\Bundle::getContainerExtension()\" might add \"?ExtensionInterface\" as a native return type declaration in the future. Do the same in child class \"Webkul\\UVDesk\\CoreFrameworkBundle\\UVDeskCoreFrameworkBundle\" now to avoid errors or add an explicit @return annotation to suppress this message. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/error-handler/DebugClassLoader.php:331)"} []
                      [2023-12-12T14:47:44.440761+01:00] deprecation.INFO: User Deprecated: Method "Symfony\Component\HttpKernel\Bundle\Bundle::getContainerExtension()" might add "?ExtensionInterface" as a native return type declaration in the future. Do the same in child class "Webkul\UVDesk\AutomationBundle\UVDeskAutomationBundle" now to avoid errors or add an explicit @return annotation to suppress this message. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Method \"Symfony\\Component\\HttpKernel\\Bundle\\Bundle::getContainerExtension()\" might add \"?ExtensionInterface\" as a native return type declaration in the future. Do the same in child class \"Webkul\\UVDesk\\AutomationBundle\\UVDeskAutomationBundle\" now to avoid errors or add an explicit @return annotation to suppress this message. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/error-handler/DebugClassLoader.php:331)"} []
                      [2023-12-12T14:47:44.440788+01:00] deprecation.INFO: User Deprecated: Method "Symfony\Component\HttpKernel\Bundle\Bundle::getContainerExtension()" might add "?ExtensionInterface" as a native return type declaration in the future. Do the same in child class "Webkul\UVDesk\ExtensionFrameworkBundle\UVDeskExtensionFrameworkBundle" now to avoid errors or add an explicit @return annotation to suppress this message. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Method \"Symfony\\Component\\HttpKernel\\Bundle\\Bundle::getContainerExtension()\" might add \"?ExtensionInterface\" as a native return type declaration in the future. Do the same in child class \"Webkul\\UVDesk\\ExtensionFrameworkBundle\\UVDeskExtensionFrameworkBundle\" now to avoid errors or add an explicit @return annotation to suppress this message. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/error-handler/DebugClassLoader.php:331)"} []
                      [2023-12-12T14:47:44.440807+01:00] deprecation.INFO: User Deprecated: Method "Symfony\Component\HttpKernel\Bundle\Bundle::getContainerExtension()" might add "?ExtensionInterface" as a native return type declaration in the future. Do the same in child class "Webkul\UVDesk\MailboxBundle\UVDeskMailboxBundle" now to avoid errors or add an explicit @return annotation to suppress this message. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Method \"Symfony\\Component\\HttpKernel\\Bundle\\Bundle::getContainerExtension()\" might add \"?ExtensionInterface\" as a native return type declaration in the future. Do the same in child class \"Webkul\\UVDesk\\MailboxBundle\\UVDeskMailboxBundle\" now to avoid errors or add an explicit @return annotation to suppress this message. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/error-handler/DebugClassLoader.php:331)"} []
                      [2023-12-12T14:47:44.440831+01:00] deprecation.INFO: User Deprecated: Method "Symfony\Component\HttpKernel\Bundle\Bundle::getContainerExtension()" might add "?ExtensionInterface" as a native return type declaration in the future. Do the same in child class "Webkul\UVDesk\SupportCenterBundle\UVDeskSupportCenterBundle" now to avoid errors or add an explicit @return annotation to suppress this message. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Method \"Symfony\\Component\\HttpKernel\\Bundle\\Bundle::getContainerExtension()\" might add \"?ExtensionInterface\" as a native return type declaration in the future. Do the same in child class \"Webkul\\UVDesk\\SupportCenterBundle\\UVDeskSupportCenterBundle\" now to avoid errors or add an explicit @return annotation to suppress this message. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/error-handler/DebugClassLoader.php:331)"} []
                      [2023-12-12T14:47:44.440847+01:00] deprecation.INFO: User Deprecated: Method "Symfony\Component\HttpKernel\Bundle\Bundle::getContainerExtension()" might add "?ExtensionInterface" as a native return type declaration in the future. Do the same in child class "Webkul\UVDesk\ApiBundle\UVDeskApiBundle" now to avoid errors or add an explicit @return annotation to suppress this message. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Method \"Symfony\\Component\\HttpKernel\\Bundle\\Bundle::getContainerExtension()\" might add \"?ExtensionInterface\" as a native return type declaration in the future. Do the same in child class \"Webkul\\UVDesk\\ApiBundle\\UVDeskApiBundle\" now to avoid errors or add an explicit @return annotation to suppress this message. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/error-handler/DebugClassLoader.php:331)"} []
                      [2023-12-12T14:47:44.440861+01:00] deprecation.INFO: User Deprecated: Since symfony/security-bundle 5.3: The ".container.private.security.password_encoder" service is deprecated, use "security.user_password_hasher" instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/security-bundle 5.3: The \".container.private.security.password_encoder\" service is deprecated, use \"security.user_password_hasher\" instead. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/var/cache/dev/ContainerUcWwxIl/get_Container_Private_Security_PasswordEncoderService.php:22)"} []
                      [2023-12-12T14:47:44.440876+01:00] deprecation.INFO: User Deprecated: Since symfony/security-core 5.3: The "Symfony\Component\Security\Core\Encoder\UserPasswordEncoder" class is deprecated, use "Symfony\Component\PasswordHasher\Hasher\UserPasswordHasher" instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/security-core 5.3: The \"Symfony\\Component\\Security\\Core\\Encoder\\UserPasswordEncoder\" class is deprecated, use \"Symfony\\Component\\PasswordHasher\\Hasher\\UserPasswordHasher\" instead. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/security-core/Encoder/UserPasswordEncoder.php:19)"} []
                      [2023-12-12T14:47:44.440889+01:00] deprecation.INFO: User Deprecated: Since symfony/security-core 5.3: The "Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface" interface is deprecated, use "Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface" instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/security-core 5.3: The \"Symfony\\Component\\Security\\Core\\Encoder\\UserPasswordEncoderInterface\" interface is deprecated, use \"Symfony\\Component\\PasswordHasher\\Hasher\\UserPasswordHasherInterface\" instead. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/security-core/Encoder/UserPasswordEncoderInterface.php:17)"} []
                      [2023-12-12T14:47:44.440903+01:00] deprecation.INFO: User Deprecated: Since symfony/security-bundle 5.3: The "security.encoder_factory.generic" service is deprecated, use "security.password_hasher_factory" instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/security-bundle 5.3: The \"security.encoder_factory.generic\" service is deprecated, use \"security.password_hasher_factory\" instead. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/var/cache/dev/ContainerUcWwxIl/getSecurity_EncoderFactory_GenericService.php:22)"} []
                      [2023-12-12T14:47:44.440920+01:00] deprecation.INFO: User Deprecated: Since symfony/security-core 5.3: The "Symfony\Component\Security\Core\Encoder\EncoderFactory" class is deprecated, use "Symfony\Component\PasswordHasher\Hasher\PasswordHasherFactory" instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/security-core 5.3: The \"Symfony\\Component\\Security\\Core\\Encoder\\EncoderFactory\" class is deprecated, use \"Symfony\\Component\\PasswordHasher\\Hasher\\PasswordHasherFactory\" instead. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/security-core/Encoder/EncoderFactory.php:20)"} []
                      [2023-12-12T14:47:44.440934+01:00] deprecation.INFO: User Deprecated: Since symfony/security-core 5.3: The "Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface" class is deprecated, use "Symfony\Component\PasswordHasher\Hasher\PasswordHasherFactoryInterface" instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/security-core 5.3: The \"Symfony\\Component\\Security\\Core\\Encoder\\EncoderFactoryInterface\" class is deprecated, use \"Symfony\\Component\\PasswordHasher\\Hasher\\PasswordHasherFactoryInterface\" instead. at /home/helpdesk-support/htdocs/helpdesk.example.com/helpdesk-project/vendor/symfony/security-core/Encoder/EncoderFactoryInterface.php:17)"} []
                      

                      Urls and usernames have been masked for protection.

                      These are only deprecation warnings. Should they cause fatal errors in php operations?

                      peopleinside 1 Reply Last reply Reply Quote 0
                      • peopleinside
                        peopleinside EX helping member @escozul last edited by

                        @escozul

                        Regarding the logs: deprecation info is not an error, is just a message to developers that can be ignored by you.

                        Are you sure your domain is set correctly in the file config/packages/uvdesk.yaml?
                        How you set your domain?

                        šŸ’¬ You can also ask help on GitHub Discussions
                        šŸ”“ I am no more active on Uvdesk
                        šŸ”“ Forum support is inactive!

                        1 Reply Last reply Reply Quote 0
                        • E
                          escozul last edited by escozul

                          @peopleinside
                          Hello
                          in my .env, I see the following:

                          ###> symfony/framework-bundle ###
                          APP_ENV=dev
                          APP_SECRET=YOUR_APP_SECRET
                          

                          Is that correct? Should I have set the app secret somewhere? ... or it does not matter?

                          My uvdesk.yaml:

                          parameters:
                              app_locales: en|fr|it|de|da|ar|es|tr|zh|pl
                              
                              # Default Assets
                              assets_default_agent_profile_image_path: 'bundles/uvdeskcoreframework/images/uv-avatar-batman.png'
                              assets_default_customer_profile_image_path: 'bundles/uvdeskcoreframework/images/uv-avatar-ironman.png'
                              assets_default_helpdesk_profile_image_path: 'bundles/uvdeskcoreframework/images/uv-avatar-uvdesk.png'
                          
                              uvdesk_site_path.member_prefix: --------- #Masked for security
                              uvdesk_site_path.knowledgebase_customer_prefix: --------- #Masked for security
                              
                              # File uploads constraints
                              # @TODO: Set these parameters via compilers
                              max_post_size: 8388608
                              max_file_uploads: 20
                              upload_max_filesize: 2097152
                          
                          uvdesk:
                              site_url: 'helpdes.mydomain.com' # No /public here. It's properly set.
                              upload_manager:
                                  id: Webkul\UVDesk\CoreFrameworkBundle\FileSystem\UploadManagers\Localhost
                              
                              support_email:
                                  id: email@mydomain.com #properly set to my domain. Changed it for security purposes
                                  name: Support HelpDesk
                                  mailer_id: mailer_SES
                              
                              # Default resources
                              default:
                                  ticket:
                                      type: support
                                      status: open
                                      priority: low
                                  templates:
                                      email: mail.html.twig
                          

                          Tried to mask some. Sorry for that. They seem just fine though.

                          Edit:

                          I visited the address found here: API https://uvdesk.example.com/mailbox/listener
                          kept bugging me.

                          The result on screen was:
                          {"success":false,"message":"Request not supported."}
                          Have no idea what that is! what is it?
                          What about the API? When I go over to settings, the first selection is the API:
                          alt text

                          I haven't used that access token anywhere. What's it for? Should I put it in the .env file?

                          peopleinside 1 Reply Last reply Reply Quote 0
                          • peopleinside
                            peopleinside EX helping member @escozul last edited by

                            @escozul

                            Could you try to replace the

                            site_url: 'helpdes.mydomain.com' # No /public here. It's properly set.
                            

                            with

                            site_url: helpdes.mydomain.com
                            

                            Then clean cache php bin/console c:c and try to fetch email again. Still facing the issue?

                            šŸ’¬ You can also ask help on GitHub Discussions
                            šŸ”“ I am no more active on Uvdesk
                            šŸ”“ Forum support is inactive!

                            E 1 Reply Last reply Reply Quote 0
                            • E
                              escozul @peopleinside last edited by

                              @peopleinside

                              Thank you. Same error though.

                              peopleinside 1 Reply Last reply Reply Quote 0
                              • peopleinside
                                peopleinside EX helping member @escozul last edited by

                                @escozul I have no others idea sorry.

                                All thread suggested where user are solved seems are not helping you, from what you said. I don't know what else suggest.

                                Usually from what I see the error can be caused by a wrong domain settings, from some server settings like HTTP and not HTTPS, there are also some fix suggested in other topics.

                                I'm currently not facing this issue on my active installation.
                                I'm sorry to see we was not able to resolve.

                                šŸ’¬ You can also ask help on GitHub Discussions
                                šŸ”“ I am no more active on Uvdesk
                                šŸ”“ Forum support is inactive!

                                E 1 Reply Last reply Reply Quote 0
                                • E
                                  escozul @peopleinside last edited by

                                  @peopleinside
                                  Thank you for your time.
                                  I appreciate all your help.

                                  Well.. Let's hope that in the following days, someone will come across this issue and help me resolve it.

                                  peopleinside 1 Reply Last reply Reply Quote 0
                                  • peopleinside
                                    peopleinside EX helping member @escozul last edited by

                                    @escozul I wish you to resolve šŸ™‚

                                    šŸ’¬ You can also ask help on GitHub Discussions
                                    šŸ”“ I am no more active on Uvdesk
                                    šŸ”“ Forum support is inactive!

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      leooxx last edited by

                                      Hello,

                                      To fix this error, you must install the php extension "maileparse"

                                      Apt debian command : sudo apt install php8.1-mailparse

                                      The full error message is in the log app :

                                      {"message":"Uncaught Error: Call to undefined function PhpMimeMailParser\\mailparse_msg_create()","context":{"exception":{"class":"Error","message":"Call to undefined function PhpMimeMailParser\\mailparse_msg_create()","code":0,"file":"/web/www/uvdesk/vendor/php-mime-mail-parser/php-mime-mail-parser/src/Parser.php:195"}},"level":500,"level_name":"CRITICAL","channel":"php","datetime":"2024-03-24T16:40:04.785031+01:00","extra":{}}
                                      
                                      E 2 Replies Last reply Reply Quote 0
                                      • E
                                        escozul @leooxx last edited by

                                        @leooxx Thank you.

                                        Will try that on Tuesday and get back here to post if it's resolved or not.

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          escozul @leooxx last edited by escozul

                                          @leooxx Hello,
                                          I can't find that entry on any of my logs. How do you know that the error is with the php-mailparse addon?

                                          cause running PHP -m lists mailparse right there..

                                          You mentioned a "logs app"... Can't find that.

                                          peopleinside 1 Reply Last reply Reply Quote 0
                                          • peopleinside
                                            peopleinside EX helping member @escozul last edited by peopleinside

                                            @escozul

                                            usually when I was using UVdesk for check if the mail parse was present and detected by UVdesk I use to generate a new UVdesk instance and run the setup wizard.

                                            The UVdesk setup wizard show you if you have all requirements.
                                            I suggested, since long time to the UVdesk team to add a health page that help already present installation to be checked but since different months now UVdesk seems abandoned in the open source project.

                                            I migrated to a different solution and left also the forum also if I still get an eye here sometimes šŸ™‚

                                            šŸ’¬ You can also ask help on GitHub Discussions
                                            šŸ”“ I am no more active on Uvdesk
                                            šŸ”“ Forum support is inactive!

                                            E 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post