We recently deployed a client's website to a Voxel server. We began getting silent WSODs whenever emails were supposed to be sent. No errors were recorded to either dblog or Apache's error log.

Using the wsod module packaged with Diagnostic Tools, we were able to determine that emogrifier.php depends on the DOMDocument class, provided by the DOM PHP extension, is required:

array(4) { ["type"]=>  int(1) ["message"]=>  string(29) "Class 'DOMDocument' not found" ["file"]=>  string(74) "/var/www/html/sites/all/modules/contrib/htmlmail/emogrifier/emogrifier.php" ["line"]=>  int(78) } n/a

While DOM is enabled by default in PHP, it appears that some hosts have it disabled in the PHP packages runnin on their servers.

This dependency should probably be noted on the module page, as well as perhaps shown on admin/reports/status.

Comments

pillarsdotnet’s picture

Status: Active » Postponed

The emogrifier tool requires the DOM extension. The 7.x version includes this check.

I plan to split emogrifier support off to its own filter module, then backport changes to a 6.x-2.x version.

pillarsdotnet’s picture

Version: 6.x-1.x-dev » 6.x-2.3
Status: Postponed » Closed (fixed)

The 6.x-2.x branch is now stable. I'm therefore closing all open 6.x-1.x issues.

Re-open if there is some reason that 6.x-2.x doesn't work for you.