I tried your suggestion of generating static content and clearing cache but it did not help, thanks anyway. Perhaps some of the folder permissions are wrong.
I made a separate brand new clean installation of Magento 2.2.6 just so I could compare the database entries and see what was different in my main website that had been made using the data-migration tool.
I removed a whole bunch of core_config_data entries that seemed to be related to modules that were present in the 1.9.2.0 installation but were not in my 2.2.6 version.
I tried to send emails from the 'Contact Us' page and although they still weren't working I noticed that the error had changed to:
[2018-10-23 03:34:42] main.CRITICAL: Email template 'contacts_email_email_template' is not defined. {"exception":"[object] (UnexpectedValueException(code: 0): Email template 'contacts_email_email_template' is not defined. at /home/mrsthtno/public_html/vendor/magento/module-email/Model/Template/Config.php:225)"} []
Previously it had been:
[2018-10-23 03:16:05] main.CRITICAL: Incorrect theme identification key {"exception":"[object] (InvalidArgumentException(code: 0): Incorrect theme identification key at /home/mrsthtno/public_html/vendor/magento/framework/View/Design/Theme/FlyweightFactory.php:60)"} []
I Googled this and found that the entry should be contact_email_email_template (without the 's'). I found a core_config_data entry with path 'contact/email/email_template' and removed the 's' so that the value is 'contact_email_email_template'. I flushed and cleaned the cache and bingo the 'Contact Us' form is finally working.
That value was working in 1.9.2.0 so I guess someone decided to change the name in version 2. This problem has been an absolute nightmare to solve so I leave the answer here to help other people.
Thanks byron_stuart!
This worked for me. Thanks very much for posting. Saved a lot of time.
I had to sign in just to thank you for sharing this. We were late to the migration party and had to/are still dealing with all kinds of silliness like this.
One letter in one database entry later to make the value match the path and the forms work again. Cheers!
Hey I still cant figure it out can you explain exactly hat you did and where?