SuiteCRM 7.9.2 Compose Email undefined issues

Some fields in email compose are “undefined” after upgrading to 7.9.2. Also sending ist not possible. Before upgrade it worked fine. Campaign emails work though. Probably a permission issue but can’t solve it. OS is Debian.

Current Settings in config.php:

‘dir_mode’ => 1528,
‘file_mode’ => 493,
‘user’ => ‘www-data’,
‘group’ => ‘www-data’,

Current settings in utils.php:

‘dir_mode’ => 02770,
‘file_mode’ => 0755,
‘chown’ => ‘’,
‘chgrp’ => ‘’,

‘default_permissions’ => array(
‘dir_mode’ => 02770,
‘file_mode’ => 0755,
‘user’ => ‘’,
‘group’ => ‘’,

System permissions are set as recommended:

chown -R www-data:www-data
chmod -R 755 .
chmod -R 775 cache custom modules themes data upload config_override.php

Any ideas or recommendations for a working permission structure?

Usually with ‘undefined’ labels is that the javascript (which builds a cache of all the labels in the system) file is inaccessible. Have a check inside your cache folder and see if that has been built correctly.

We use default_permissions set dir_mode = 1517 and file_mode = 420 if that helps.

Usually a hard refresh of your browser and a repair & rebuild rectify the labelling.

Let us know how you get on.

Javascript files in cache/include are fully accessible. I solved similar problems in the old version with permission settings but after upgrade nothing seems to solve this specific problem. Everything else works fine (including campaigns).

Try Rebuilding the Javascript Languages files.

Admin > Repair > Rebuild Javascript Languages

Doesn’t work. Also it is not possible to close the Email Compose Popup.

Regarding the Close Button that is an already raised issue on Github -

Hmm, did you update your permissions since the upgrade or before the repair the javascript language files?

An extreme method would be to delete the contents of the cache folder and allow it to be completely rebuilt by repair& rebuilding and seeing if the permissions are still ok if that is an option.

Have you recently changed URLs? The htaccess file may need to be rebuilt (again via Admin panel you can do this).

Maybe the error log helps?

Fri Jul 7 12:55:20 2017 [26838][1][FATAL] SugarPHPMailer encountered an error: Invalid address: (addAnAddress Reply-To): null
Fri Jul 7 12:55:20 2017 [26838][1][FATAL] SugarPHPMailer encountered an error: Invalid address: (punyEncode) null

Ok… Perhaps we are thinking of two different things in regards to ‘undefined’.

What is exacely ‘undefined’ ? a Label or is that what the error is?

Screenshot would be super to see.

What version did you upgrade from also?

Some labels are “undefined”, but the mail is also not sending out of Compose. I can’t add files with this editor here in the forum (Pop-up Blocker is deactivated). Let me try to describe it:

  • “From” is not populated though outgoing mail accounts are configured and working when tested. Also campaign mails are running…
  • When you select an email template you’ll get a small pop-up. Here I have 2 times “undefined” (OK and Cancel are displayed correctly)
  • I can’t send because no outgoing mail account can be chosen
  • When I click on the bin, a popup appears with 2 times “undefined” (OK and Cancel are displayed correctly)

These fixes brought some slight improvements:

Now mails can be sent via Compose, though an error says it was not sent. All undefined and unpopulated field issues remain. Also label fields (first name, laste name) don’t get connected with the template.

I have the same problem LTS Version 7.8.7 of suitecrm.
This is a fresh install on nginx + mysql (mariadb) + PHP 7.0 on Ubuntu 16.04 LTS
The installation process went smooth, I had 0 warning in the preflight check before launching installation.
After login I had warnings in the home page (php warning), searched the web and deactivated as sugested (I suppose it is not related , but worth mentioning).

When in the COMPOSE view, I get buttons with “UNDEFINED” and all the textes reads “undefined”

On the other view of the email client no problem noticed.

Hi Ian2000,

This is a bug that has been fixed in 7.8.7 hotfix and will be included in the next release.


Just upgraded to 7.8.7 from 7.8.6 - experiencing “undefined issue in Quick Compose Email” as well

This is driving my users crazy. I’ve never applied the hot fix before but I removed the lines in red and added the lines in green in the two mentioned files on this GitHub page (remove the + signs of course), I then went into admin, did a Quick Repair, and did all the JS operations in the repair menu, cleared all files in the cache folder, and I still have the issue.

Can someone post info on how to properly apply the hotfix. I’d prefer not to make my users wait for the next version to be released.


Version 7.8.7

Well it appears the JS was cached by the browser (Chrome) … drives me nuts about Chrome that it still caches the JS even after F5 refresh. I have to turn on a JS cache buster plugin in Chrome and then it refreshed.

If you use Ctrl-F5 it’s supposed to do a “deeper” cache refresh. Maybe that would have been enough.

But in this case there are other levels of cache here (on the SuiteCRM cache folder, for example).

Also, when repairing Javascript there are other options in Admin / Repair to rebuild JS files.

I am currently running 7.8.7 LTS and can say I had never seen this problem before. Until today.

As far as I can tell, this problem only started today, many days after installing the 7.8.7 update. Everything had been displaying correctly until this afternoon.

I’ve performed a Rebuild and Repair operation, but the problem persists,

Any ideas?

The problem comes with 7.8.7, you might have had something cached that caused it to only manifest itself later.

The fix is this

and it looks like it will get released pretty soon…

I’ve amended code in both Javascript files as instructed, but this has not resolved the issue.

Hi, I also tried the fix (comes with the new version released today) and no matter how many repairs and refreshes I did, it still showed "undefined"s in the Compose window buttons.

But after a few hours it fixed itself magically. So this was caught in a cache somewhere.