Email body blank

Cpanel, php 8.1 or 8.2 or 8.3, SuiteCRM 8.6.0

After updating to version 8.6.0, the email body appears blank for imported mails, while unimported mails display correctly.

prod.log: nothing;

prod.deprecations.log:
php.INFO: Deprecated: Function strftime() is deprecated {“exception”:“[object] (ErrorException(code: 0): Deprecated: Function strftime() is deprecated at -/public/legacy/include/SugarLogger/SugarLogger.php:239)”} []
[2024-05-10 09:39:10] php.INFO: Deprecated: Function strftime() is deprecated {“exception”:“[object] (ErrorException(code: 0): Deprecated: Function strftime() is deprecated at -/public/legacy/include/SugarLogger/SugarLogger.php:239)”} []
[2024-05-10 09:39:10] php.INFO: Deprecated: Return type of GraphQL\Executor\ExecutionResult::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice {“exception”:“[object] (ErrorException(code: 0): Deprecated: Return type of GraphQL\Executor\ExecutionResult::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice at -/vendor/webonyx/graphql-php/src/Executor/ExecutionResult.php:116)”} []

suitecrm.log [2717a13d-d3ef-6b62-8d30-5afaa2d7ed98][ERROR] Unable to find relationship emails_email_templates

Console: [Violation] Added non-passive event listener to a scroll-blocking event. Consider marking event handler as ‘passive’ to make the page more responsive. See
[Violation] ‘load’ handler took 247ms
JQMIGRATE: Migrate is installed, version 3.4.0 sugar_grp1_jquery.js?v=TqGx6UzreEQ_jJ-rv2LV4w:6

Thank you in advance for any ideas

Use the correct versions as defined on this link.

I am, dude. The same problem on 8.1 or 8.2 or 8.3. You have any idea about the question → the email body appears blank for imported mails, while unimported emails display correctly.

Use Admin-> Studio and check if you have this relationship or not

Thank you for your help. No, I don’t have this relationship in Studio. It’s not present in SuiteCRM 8.6.0 or SuiteCRM 8.5.1. However, emails are displayed correctly in SuiteCRM 8.5.1, but not in SuiteCRM 8.6.0.
I did use Rebuild relationships(which works fine). And i tried to use QR&R(which still gives me Unexpected Error When calling action).

This is a very common false-positive log message. I just ignore it.

I am convinced that if you have a problem, it’s not caused by this; and that this is not a symptom of any problem.

Thank you pgr. I am lost. When i go to administration, Diagnostic tools. Nothing happens. Stays at 0%. Nothing in prod.log, nothing in error_log, nothing special in Suitecrm.log.

And prod.deprecations.log(###> symfony/framework-bundle ### APP_ENV=prod) is full of this:

[2024-05-13 11:54:01] php.INFO: User Deprecated: Since api-platform/core 2.7: Use “ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface” instead of “ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface”. {“exception”:“[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: Use "ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface" instead of "ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface". at /home/test/public_html/SuiteCRM8/vendor/api-platform/core/src/Symfony/EventListener/AddFormatListener.php:53)”} []
[2024-05-13 11:54:01] php.INFO: User Deprecated: Since api-platform/core 2.7: Use “ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface” instead of “ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface”. {“exception”:“[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: Use "ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface" instead of "ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface". at /home/test/public_html/SuiteCRM8/vendor/api-platform/core/src/Symfony/EventListener/QueryParameterValidateListener.php:52)”} []
[2024-05-13 11:54:01] php.INFO: User Deprecated: Since api-platform/core 2.7: Use “ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface” instead of “ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface”. {“exception”:“[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: Use "ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface" instead of "ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface". at /home/test/public_html/SuiteCRM8/vendor/api-platform/core/src/Serializer/SerializerContextBuilder.php:41)”} []
[2024-05-13 11:54:01] php.INFO: User Deprecated: Since api-platform/core 2.7: Use “ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface” instead of “ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface”. {“exception”:“[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: Use "ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface" instead of "ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface". at /home/test/public_html/SuiteCRM8/vendor/api-platform/core/src/Serializer/SerializerFilterContextBuilder.php:40)”} []
[2024-05-13 11:54:01] php.INFO: User Deprecated: Since api-platform/core 2.7: The service “ApiPlatform\Core\Api\IdentifiersExtractor” is deprecated, use ApiPlatform\Api\IdentifiersExtractor instead. {“exception”:“[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: The service "ApiPlatform\Core\Api\IdentifiersExtractor" is deprecated, use ApiPlatform\Api\IdentifiersExtractor instead. at /home/test/public_html/SuiteCRM8/vendor/api-platform/core/src/Core/Api/IdentifiersExtractor.php:49)”} []
[2024-05-13 11:54:01] php.INFO: User Deprecated: Since api-platform/core 2.7: The listener “ApiPlatform\Core\EventListener\ReadListener” is deprecated and will be replaced by “ApiPlatform\Symfony\EventListener\ReadListener” in 3.0. {“exception”:“[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: The listener "ApiPlatform\Core\EventListener\ReadListener" is deprecated and will be replaced by "ApiPlatform\Symfony\EventListener\ReadListener" in 3.0. at /home/test/public_html/SuiteCRM8/vendor/api-platform/core/src/Core/EventListener/ReadListener.php:66)”} []

Is there a way to stop filling prod.deprecations.log? thanks

In the diagnostics screen, you’re supposed to select checkboxes. If one of the items is blocking things, the others might work. Then it downloads a zip file, make sure your browser or anti-virus isn’t blocking it.

Regarding the logs, all INFO and DEPRECATED messages can be ignored. You can configure what SuiteCRM logs (log level) in Admin / System Settings.

And you can configure what PHP logs in your php.ini, entry error_reporting, there are lots of sites documenting how to use this.

Thank you PGR. Yes, it is obvious to select checkboxes. It doesnt work. I am certain all version 8 and up problems are related to cPanel hosting:

  • QR&R error
  • email auto import error
  • blank body email error
    Unfortunately, the hosting support admins also does not see what is wrong in the error logs. Therefore our CRM is not working as it should. I also tried defauls softaculous suitecrm install and i get similar problems. Someone else using cpanel?

At least one user here, @pstevens is using cpanel for hosting suite 7 and 8 successfully.

Please apply this code fix and report back on your auto import and blank body email is working. It’s a fix to two functions in one file:

Discussion about this email import issue/bug:

@sasotech I don’t think it is advisable to run SuiteCRM in any hosting situation where you don’t have direct access to the files and to all the logs. And a console access like SSH so you can grep logs, find-in-files, work on permissions, etc.

SuiteCRM is just not an app that you can run without that.

I’ll test on v7 and v8 this morning and confirm if Im experiencing this issue on cpanel hosting. (I dont think so but I’ll confirm).

I’ve tested in my setup on v7 and v8. On v7.14 it works without issue. Import the record and can view the body.

On version 8 it’s kind of a mixed bag. On new ones that I import, it works fine. I have a couple of old ones that were imported previously and I get blank screen when I try to view the email (500 error, haven’t had time to troubleshoot that).

Hope that helps at least you have more info.

I still have blank body for all imported Group emails. New Suitecrm 8.6.2 installation, php 8.2.23.

Apache log:
AH01071: Got error ‘PHP message: PHP Deprecated: Return type of Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/webpage.si/public_html/suitecrm/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php on line 134; PHP message: PHP Deprecated: Return type of Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/webpage.si/public_html/suitecrm/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php on line 144; PHP message: PHP Deprecated: Return type of Symfony\Component\HttpFoundation\Session\Session::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/webpage.si/public_html/suitecrm/vendor/symfony/http-foundation/Session/Session.php on line 131; PHP message: PHP Deprecated: Return type of Symfony\Component\HttpFoundation\Session\Session::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/webpage.si/public_html/suitecrm/vendor/symfony/http-foundation/Session/Session.php on line 141’, referer: https://webpage.si/suitecrm/public/

Chrome Console:
https://webpage.si/suitecrm/public/legacy/index.php?folder_name=INBOX&folder=inbound&inbound_email_record=9c59558a-2e49-87e8-6c5f-66db72433340&uid=31047&module=Emails&action=DisplayDetailView 500 (Internal Server Error)

suitecrm.log
Fri Sep 6 23:55:37 2024 [3550124][1][FATAL] ImapHandler trying to use a non valid resource stream.

nothing in prod.log

any ideas? database collation is utf8mb4_general_ci