11 April 2016

Joomla! 3.5 has a massive bug regarding its built-in email feature. If you suddenly experience problems with our software when they are trying to send emails please read on.

Joomla! 3.5 introduced changes in the way it internally handles email. Unfortunately, these changes break all third party extensions which send emails since developers have to use Joomla!'s JMail API to do send emails.

More specifically, we have identified the following problem cases:

  • The From Email or From Name fields in Global Configuration are empty. Go to Global Configuration, Server tab and make sure that BOTH fields are set to non-empty, valid values. If either is empty Joomla! will fail catastrophically when trying to send an email.
  • Invalid email addresses in user accounts. Unfortunately nothing can be done about since Joomla! itself DOES NOT check the validity of email addresses when creating user accounts. Basically, if someone enters an invalid address when creating a user account and you try to email them you are screwed. There's no solution to that.

You will run into this problem in the following cases when using our software if a. your Mail From/Name settings in Global Configuration is empty or b. the email address is invalid:

  • All software: automatic updates and udpate notifications through the CLI CRON scripts, as well as update notifications through plugins (Akeeba Backup, Admin Tools). It's just annoying because you'll never receive an email telling you if an update is available.
  • Akeeba Backup: email after successful backup, send archive by email, send notifications about failed backups. The backups are taken successfully but the backup duration will be wrong.
  • Admin Tools: email on security exception. The malicious request is blocked but an error message MAY be shown to the attacker if your server settings are set to do so, possibly revealing mroe information than you'd like. We consider it a MAJOR issue and we recommend double checking the email settings in your Global Configuration as well as the email addresses you have set up in Admin Tools.
  • Admin Tools: email on successful/failed administrator login. You may be prevented from logging in to the back-end of your site. In this case rename the plugins/system/admintools directory, log in, fix your configuration and renamed the directory back.
  • Admin Tools: Joomla! update notification plugin. If your site is out of date your front-end will crash once every few hours, when the Admin Tools plugin tries to send you an email about the available newer Joomla! verison. This also applies to the Joomla! update notification plugin that ships with Joomla! itself.
  • Akeeba Ticket System: if your client or your support staff / managers have an invalid email address set up in their user account some or all of the emails will not be sent. Please note that this means that SOME emails MAY be sent since emails are sent sequentially to users and support staff / managers. The ticket / ticket reply is created just fine, it's just that your clients and support staff may not receive a notification.
  • Akeeba Subscriptions: if the subscriber or the super users have an invalid email address set up in their user account some or all of the emails will not be sent. The subscription is created but your client may not receive a confirmation and invoice by email and/or your super users may not receive a confirmation of the subscription. The same applies for notifications about imminent subscription expiration and the subscription expiration itself as well as notifications about subscription status change. Do note that in the back-end you may experience white pages whenever you're changing soemthing in a subscription of an affected user for the exact same reason

We understand that these issues are disruptive to the users of our software but we decided to not release new versions of our software since this is not our bug to fix. This is a backwards compatibility break in Joomla!. Joomla! is committed to using Semantic Versioning. Therefore this major Joomla! bug must be fixed according to the Semantic Versioning specification. We expect that the Joomla! Production Leadership Team will, for once, rise to the occasion and fix its own bugs instead of expecting developers to bend over backwards and work around Joomla!'s bugs.