You didn't happen to disable "retrieve mail for external accounts" , did you? Turning this feature on in my test system causes the mail service not start.
2016/12/13 21:04:09 INFO> LDAP.pm:304 EBox::Module::LDAP::waitForLDAPObject - Waiting for schema object present: CN=userZentyalMail,CN=Schema,CN=Configuration,DC=idoubtit,DC=net
2016/12/13 21:04:09 INFO> LDAP.pm:304 EBox::Module::LDAP::waitForLDAPObject - Waiting for schema object present: CN=vdZentyalMail,CN=Schema,CN=Configuration,DC=idoubtit,DC=net
2016/12/13 21:04:13 ERROR> GlobalImpl.pm:659 EBox::GlobalImpl::saveAllModules - Failed to save changes in module mail: Can't locate object method "throw" via package "Can't locate object method "fetchmailMustRun" via package "EBox::Mail::FetchmailLdap" at /usr/share/perl5/EBox/Mail/FetchmailLdap.pm line 443.
" (perhaps you forgot to load "Can't locate object method "fetchmailMustRun" via package "EBox::Mail::FetchmailLdap" at /usr/share/perl5/EBox/Mail/FetchmailLdap.pm line 443.
"?) at /usr/share/perl5/EBox/Module/Base.pm line 238.
2016/12/13 21:04:13 INFO> Base.pm:231 EBox::Module::Base::save - Restarting service for module: logs
2016/12/13 21:04:14 ERROR> GlobalImpl.pm:734 EBox::GlobalImpl::saveAllModules - The following modules failed while saving their changes, their state is unknown: mail at The following modules failed while saving their changes, their state is unknown: mail at /usr/share/perl5/EBox/GlobalImpl.pm line 734
EBox::GlobalImpl::saveAllModules('EBox::GlobalImpl=HASH(0x5eb3e50)', 'progress', 'EBox::ProgressIndicator=HASH(0x5e51270)') called at /usr/share/perl5/EBox/Global.pm line 95
EBox::Global::AUTOLOAD('EBox::Global=HASH(0x5e695d0)', 'progress', 'EBox::ProgressIndicator=HASH(0x5e51270)') called at /usr/share/zentyal/global-action line 32
eval {...} at /usr/share/zentyal/global-action line 30
Seems to be a missing module dependency.
The feature doesn't matter much to me as I was just using it to keep the test machine in sync with the live email service. I don't actually use it in production.