Email Settings Page Not Working

Recently upgraded from SuiteCrm 7.7.3 to 7.10.14. Got most of the bugs worked out and the functionality I’m looking for is coming together. The one issue I’m still having is my Email Settings Page in Admin Settings doesn’t work. The page itself loads but as you can see from my attached images, it doesn’t actual display any information. I provided my error logs and when I declare the variables they mention in config_override, the logs go away but the problem still persists. If anyone has any idea on how I should approach fixing this issue it’d be appreciated.

What is your version of PHP?

My current php version is 7.3. Is 7.3 too new to be supported?

I do have a separate vm running the same version of suitecrm but with php 7.2 and that seems to have the exact same error log and same issues. Obviously being able to fix the email settings is a big must for email customization.

I am also trying out PHP 7.3 and I had plenty of problems recently, though I believe they might be problems in out dependencies, not in our own software.

I noticed that my Composer had that same error that you got, and I had to upgrade it to fit the new PHP. Then I had to update the dependencies with “composer install” (important: do NOT use “composer update”).

Now my system with PHP 7.3 seems to be working fine, but I didn’t test every feature and screen, of course.

If you happen to be running XAMPP, make sure you turn off display_errors

Not using XAMPP but my display_errors are turned off regardless. In regards to Composer, I’ll have to check that. Not the first time Composer, Php and SuiteCRM haven’t played nice for me so that’s definitely a good place to look

About the email bug:

Check you config.php for these values:

  'email_confirm_opt_in_email_template_id' => '4fe75f88-6143-06bf-2c90-5a9e818146d1',

It needs to be there, and it should point to a valid email template id.

SuiteCRM should fail more gracefully in it’s absence. I see the code was recently improved to handle one such missing config option, but it seems this one is forgotten.

Something in your upgrade process didn’t go as intended, otherwise you would have this value there…

1 Like

I don’t have this in my config.php. This was suspicious to me because declaring it in config_override did remove the issue from error logs but I didn’t have it pointing at anything before. Do you know if I need to point to a specific template id value, or make an array, or it there only one value I should be looking for? Either way thanks for all the help thus far!

Just looked at it again and now I understand the syntax. There’s the array under aop where the email template id’s are declared. Don’t know if that’ll fix my whole email settings issue but at least it’s one less error to stare at! Thanks again!

Hi again,
After looking at this forum again, I am having a little confusion. In regards to Composer, you said you had to update it to fit the new php, then said you ran composer install not update. I don’t even have composer installed on my server. I installed it when I was having trouble getting the upgrade to work, but ended up reverting to a snapshot when it still didn’t work. Does this mean I’m supposed to install Composer, like the dependency manager? Is there a certain version I’m supposed to install? I’m confused how composer is involved with this when it isn’t stated in the requirements for upgrade

We don’t list Composer as a requirement because composer only does one thing: it fills the “vendor” directory with the dependencies we tell it to. So in our full packages we run composer ourselves, and then include that directory in the package.

For our upgrade packages, I am not sure what the process is, but I guess it is differential, and picks up any changed files, so the updates should also be there.

Anyway, the simple workaround for you, if you don’t want to install composer, is to rename your vendor directory to something else (you can delete it later), and then grab a full package of SuiteCRM in your current version, and unzip only the “vendor” folder into your installation. This should bring every dependency up to date.

But then we’ll still have to check if that solves your initial problem or not…

Well I got my Email Settings page to work, I chose to rebuild my config file which seems to have done the trick. In regards to the vendor directory, that targeting switch error, email_confirm_opt_in_email_template_id error, the errors are still present unfortunately, (even though email_confirm_opt_in_email_template_id is declared in the newly rebuilt config.php) and despite changing out vendor directories with ones from the full package both before and/or after I installed the upgrade package, it didn’t seem to do anything. So I fixed my issue but I’m not sure why it was an issue and my errors and composer issue still remain. Thanks for all the help anyways guys!