Warning: class_implements() [function.class-implements]: Class MailsystemDelegateMailSystem does not exist and could not be loaded in drupal_mail_system() (line 276 of /XXX/includes/mail.inc).
Class MailsystemDelegateMailSystem does not implement interface MailSystemInterface

There is a typo in the .info file - the case of the actual filename is different to what is there, and on our systems that stops the class being loaded when needed. The attached patch fixes this.

Comments

znerol’s picture

After looking at the code I suggest to rename the file MailSystemDelegateMailSystem.inc into MailsystemDelegateMailSystem.inc instead of updating the info file because the contained class actually is named MailsystemDelegateMailSystem.

mrfelton’s picture

Status:Active» Needs review
StatusFileSize
new2.86 KB

Attached patch renames the file instead.

Les Lim’s picture

Priority:Normal» Major
Status:Needs review» Reviewed & tested by the community

"MailsystemDelegateMailSystem" is more precise camel-casing, anyway. Works in my testing.

Kristen Pol’s picture

Patch #2 works for me too. Thanks!

jpstrikesback’s picture

Issue summary:View changes

#2 Works great.

  • Les Lim committed ee28c28 on 7.x-3.x authored by mrfelton
    Issue #1844630 by mrfelton, james.williams: Fixed Class...
Les Lim’s picture

Status:Reviewed & tested by the community» Fixed

Committed #2 to 3.x. Thanks!

Status:Fixed» Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

djg_tram’s picture

Status:Closed (fixed)» Needs review

Sorry to be the harbinger of bad news but it's not fixed yet. :-) I downloaded the package today and was dumbfounded by the error message. Being closed, the issue queue didn't bring it up, only Google helped. The file still has an uppercase S in the name and manually renaming it helped.

Les Lim’s picture

Sorry, this is fixed in the development snapshot of the 3.x branch, which wasn't published until now. It is not fixed in the alpha1 release that you probably downloaded.

Les Lim’s picture

Version:7.x-3.0-alpha1» 7.x-3.x-dev
Status:Needs review» Fixed

Status:Fixed» Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

jfellers’s picture

Sorry, I am getting the same error after updating Webform 7.x-4.1 to Webform-7.x-4.2. (Prior to the Webform update I updated Drupal from 7.32 to 7.34.)

"Warning: class_implements(): Class MailsystemDelegateMailSystem does not exist and could not be loaded in drupal_mail_system() (line 278 of /var/www/xxx/includes/mail.inc).
Exception: Class MailsystemDelegateMailSystem does not implement interface MailSystemInterface in drupal_mail_system() (line 283 of /var/www/xxx/includes/mail.inc)."

Les Lim’s picture

jfellers: you'll need to be using the 7.x-3.x-dev version of Mailsystem for now.

jfellers’s picture

Thanks for very prompt response. Reverted back to webform-7.x-3.21.

Sending test form now results in:

"PDOException: SQLSTATE[HY000]: General error: 1364 Field 'serial' doesn't have a default value: INSERT INTO {webform_submissions} (nid, uid, is_draft, submitted, remote_addr) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4); Array ( [:db_insert_placeholder_0] => 12735 [:db_insert_placeholder_1] => 0 [:db_insert_placeholder_2] => 0 [:db_insert_placeholder_3] => 1416939192 [:db_insert_placeholder_4] => 10.147.89.95 ) in drupal_write_record() (line 7239 of /var/www/upgrade/includes/common.inc)."

Les Lim’s picture

That looks like a problem with reverting webform.