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?
@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.
@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...
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.
@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!
Another possibile useful topic:
https://forums.uvdesk.com/topic/2209/issue-fetching-email
@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?
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?
@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.
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:
I haven't used that access token anywhere. What's it for? Should I put it in the .env file?
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?
Thank you. Same error though.
@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.
@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.
@escozul I wish you to resolve
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":{}}
@leooxx Thank you.
Will try that on Tuesday and get back here to post if it's resolved or not.
@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.
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
@peopleinside Hello,
Did you migrate to a different solution? Do you mind sharing it?
@escozul currently I'm using freescout that is not all completely free but seems fine is updated and works quite well. I'm very sad to have to leave UVdesk but I had some serous bug with attachments for example that was not fixed and I did not see updates so decided to migrate.
Currently we dont know if UVdesk open source will be supported in the future, loooks strange to me support for the open source has been frozen for mounts and seems also the development on GitHub is frozen.
@peopleinside Than you for replying. Freescout seems free... Maybe the modules are paid but the core seems free. UVdesk plugins are also paid for so I guess it's kind of the same...
That's a nice alternative. Since it's self-hosted, I might give it a go!