diff --git a/modoboa/extensions/amavis/general_callbacks.py b/modoboa/extensions/amavis/general_callbacks.py index 87bfd3115..c3c015e99 100644 --- a/modoboa/extensions/amavis/general_callbacks.py +++ b/modoboa/extensions/amavis/general_callbacks.py @@ -5,7 +5,7 @@ from django.utils.translation import ugettext as _ from django.template import Template, Context from modoboa.lib import events, parameters -from modoboa.extensions.admin.models import DomainAlias +from modoboa.extensions.admin.models import DomainAlias, Alias from modoboa.extensions.amavis.lib import ( create_user_and_policy, update_user_and_policy, delete_user_and_policy, create_user_and_use_policy, delete_user @@ -124,12 +124,14 @@ def on_mailboxalias_created(user, alias): @events.observe("MailboxAliasDeleted") -def on_mailboxalias_deleted(alias): +def on_mailboxalias_deleted(aliases): """Clean amavis database when an alias is removed.""" if parameters.get_admin("MANUAL_LEARNING") == "no": return - if Users.objects.filter(email=alias.full_address).exists(): - Users.objects.delete(email=alias.full_address) + if isinstance(aliases, Alias): + aliases = [aliases] + aliases = [alias.full_address for alias in aliases] + Users.objects.filter(email__in=aliases).delete() @events.observe("GetStaticContent")