After a recent upgrade from Magento Community Edition 22.214.171.124 to 126.96.36.199, I started noticing blank pages in the admin section (backend only) after certain functions: order entry, email tracking information, order comments. I also noticed no emails were sent out after password reset requests on the front end. I checked /var/log/maillog and didn’t see the messages. However I confirmed SMTP was working.
So, must be code related, I thought. Step 1 in my troubleshooting usually starts in /var/log/httpd/error_log. Upon review I noticed the following:
[Fri Mar 27 12:55:37.491424 2015] [:error] [pid 9974] [client xx.xxx.xxx.xxx:55842] PHP Fatal error: Call to undefined function mb_convert_encoding() in /var/www/html/magento/lib/Pelago/Emogrifier.php on line 556, referer: http://domain/index.php/admin/sales_order_shipment/view/shipment_id/936/key/...
Because I just upgraded, I had a fresh tar ball of my 188.8.131.52 build from the day prior. I ran a diff on the old version and the new version. One of the differences is this file:
This lib was not in my 184.108.40.206 build. This is new to Magento Community Edition 220.127.116.11.
This php file was failing to fully execute because of a missing php library (thank you @benmarks). I quick review of phpinfo(); showed I did not load mbstring in php.ini. After installing php-mbstring and restarting Apache, all email functions were confirmed working and the blank page issue went away.