7.11 Insert links and Signatures in Emails?

I finally managed to get our instance upgraded from 7.8.31 to 7.11. Turned out to be no small feat but it’s done and I celebrated and drank.

Everything was going pretty well but I have had numerous people come to me today about a couple features that it seems we may have overlooked before we chose to upgrade. :dry:

First, in 7.8 we could insert our signatures to the bottom of an e-mail that had a template inserted. Now, it strips the signature and I can find no way to include it back. Our workaround at the moment is to open 2 tabs so we can copy and paste email templates/signatures to preserve both. Yuck! :sick:

Second, the compose email modal is missing very basic operations such as insertion or modification of a hyperlink. Am I missing something here? I thought maybe it was another caching bug from the upgrade so I tested the demo on SuiteCRM.com and found no way to include a link either. :blink:

I hope I am missing something obvious here. Email is a big part of our CRM usage and not being able to use signatures or hyperlinks is not quite a step forward for us.

Thanks.

In the user’s profile, in the first tab, at the bottom, there are options to select Email editor. Try changing it there to see if it helps.

If that doesn’t work, one thing I would like to make sure is that you have the latest versions of the 3rd party software installed (this will include the HTML email editor).

Normally these come with th upgrade packages but for some reason a big upgrade like yours maybe didn’t get this right.

You need to have full backup of your “vendor” directory, install “composer” if you don’t have it yet, and run it from your SuiteCRM root with

composer install --no-dev

Do NOT run “composer update” command.

Tell me if this makes a difference. I’m hoping you will get a way to add links.


About the signatures: are you saying you can’t add a signature at all, or that it’s there, but then you lose it when you select the template?

Thanks for the reply.

I have tried changing the editor in user preferences (though it only changes for the template editor). This did not not help.

I backed up my vendor directory and ran

sudo -u www-data composer install --no-dev

because

composer install --no-dev

gave me permission errors.

The output of

sudo -u www-data composer install --no-dev

was:


Cannot create cache directory ~/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory ~/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Installing dependencies from lock file
Nothing to install or update
Generating optimized autoload files
> rm -R -f vendor/elasticsearch/elasticsearch/tests/Elasticsearch/Tests

I then ran a Quick Repair and Rebuild as well as rebuild JS files and logged out and then opened in a private browsing window. I still cannot find any way to insert links or maintain a signature with a template.

Should I have deleted the vendor directory before I ran composer install?

This is log output when I navigate to the email module and then click compose.


Wed Jul 10 11:37:42 2019 [94601][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] ImapHandler trying to use a non valid resource stream.
Wed Jul 10 11:37:42 2019 [94601][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] ImapHandler trying to use a non valid resource stream.

==> /var/log/apache2/my.site.com-error.log <==
[Wed Jul 10 17:37:47.161056 2019] [core:info] [pid 48992] [client 140.82.163.214:64560] AH00128: File does not exist: /var/www/my.site.com/jquery.qtip.min.js.map

==> /var/www/my.site.com/suitecrm_10_07.log <==
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] EmailController::action_getFromFields() expects an outbound email id as stored option of inbound email (e5274c57-f27b-86f7-fcd8-5a0a27645abd) but it isn't valid.
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] EmailController::action_getFromFields() panic: An error occurred! (203)
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] Incorrect "replay to" format found: gunnerman@site.com
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] EmailController::action_getFromFields() error: 205
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] Signature html not found!
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] Signature plain text not found!
Wed Jul 10 11:37:53 2019 [96611][83a956a0-3e2f-a820-0142-58923ba9bf28][ERROR] EmailController::action_getFromFields() is Panicking: Reply-To address is not filled.
Wed Jul 10 17:38:02 2019 [49942][5bcde11c-e780-590f-d07b-5b7c60b76133][ERROR] ImapHandler trying to use a non valid resource stream.
Wed Jul 10 17:38:02 2019 [49942][5bcde11c-e780-590f-d07b-5b7c60b76133][ERROR] ImapHandler trying to use a non valid resource stream.
Wed Jul 10 17:38:03 2019 [49942][5bcde11c-e780-590f-d07b-5b7c60b76133][ERROR] ImapHandler trying to use a non valid resource stream.
Wed Jul 10 17:38:03 2019 [49942][5bcde11c-e780-590f-d07b-5b7c60b76133][ERROR] ImapHandler trying to use a non valid resource stream.

I also receive the following warnings in my browsers console though I am not sure this has any bearing on the issue.


Failed to decode downloaded font: <URL>
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Regular.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Regular.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Bold.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Bold.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Light.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Light.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Italic.ttf
index.php?module=Emails&action=index&parentTab=All:1 Failed to decode downloaded font: https://example.com/themes/SuiteP/fonts/Lato-Italic.ttf
jstree.js?v=U2IsIAJ3h0L4HdTAMSQCbA:8419 [Deprecation] document.registerElement is deprecated and will be removed in M73, around March 2019. Please use window.customElements.define instead. See https://www.chromestatus.com/features/4642138092470272 for more details.
(anonymous) @ jstree.js?v=U2IsIAJ3h0L4HdTAMSQCbA:8419
sugar_grp1_jquery.js?v=U2IsIAJ3h0L4HdTAMSQCbA:4 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

Thanks

You can delete the vendor directory, yes, though it shouldn’t be necessary.

You need to work around the permissions problems, though there are several ways to do it and it depends on your installation. Sometimes I lose my patience and just set everything to very permissive, or run the install as root, and then when it’s over I set the ownerships back to www-data and the permissions to something more sane (and safe).

That just makes sure you’re not running old deprecated 3rd party software. But now that you found specific error messages in the logs, I would say you have a different problem. We should try figuring out which of all those errors is the root problem - which happens first in a given interaction (like saving a settings screen, for example), and then work from there to try and solve it.

I’ve never seen these messages:

Signature html not found!
Signature plain text not found!

Maybe you can try looking for them in the code and perhaps adding more information to the command that is logging them (which file is it looking for?)

I managed to clear up most of those errors by removing all email accounts and re-adding them.

The

ImapHandler trying to use a non valid resource stream

message was coming from a call to

setStream

by

 public function open($mailbox, $username, $password, $options = 0, $n_retries = 0, $params = null)

in include/Imap/ImapHandler.php. I didn’t dig farther than that as this seemed to be cleared up when I removed the email accounts.

Still, I don’t see any way to insert links into emails on our instance or on the demo site provided on suitecrm.com. This is all I see, no matter what email editor I have selected in user preferences.

I can’t replace my Email editor either, maybe this is a bug and it probably already exists on Github…

I tried adding a link directly in HTML and it worked:


Hello there,

Please search <a href="www.google.com">Google</a>.

Bye

Interesting,

My editor does not have an option for direct html input anymore and when I simply type in something like Google and send it, the the result is,

[google]Google.com

Also, another bug we just discovered.

When an email is sent, the from name is set to “Root User”, the default set in ./vendor/phpmailer/phpmailer/src/PHPMailer.php. We have set the “From Name” in the outbound email account(s) and it is set properly when “Send Test Email” is used.

Note that the editor I used to send that link was TinyMCE, not Direct HTML. I don’t trust the Editor selection setting at this point, so I just look at the HTML to see if it has a bunch of “mce” classes.

The other bug (Root user in From name) I believe is fixed in the latest 7.11.6 (or maybe in the upcoming 7.11.7?). You will find mentions of this problem on Github.

I’m not sure how you are looking at the html, all I see is what is shown in the image attached to my previous reply.

Sorry, I wasn’t clear. What I meant about looking at the HTML in that sentence was: open your browser’s developer console, and inspect the page’s HTML to see if it has a bunch of stuff mentioning “mce”, which is a sign of which editor you really have loaded.

Looks like I have TinyMCE loaded.

So it should behave like mine. I am on SuiteCRM version 7.11.6, what about you?

SuiteCRM version 7.11.6.

That leaves me a bit baffled, why would the simple HTML link work for me, but not for you? :dry:

Yeah, I guess we will wait for the update and hope that fixes it.

My editor looks and behaves the same way as demo.suiteondemand.

I am still flabbergasted that someone thought it would be a good idea to remove such basic formatting functionality. :huh: The only reason we upgraded was because 7.8 mishandled non-breaking spaces in email templates sent to a non-test target list. Jumped from the frying pan to the fire with this upgrade.