# SME groups
{
   return "#/!\\=============> DelegateMailServer is set" if ($DelegateMailServer && ($DelegateMailServer !~ /^\s*$/));
   return "#/!\\=============> no virtual domain" if $mydomains =~ /^\s*$/;
   # inspired from former /etc/e-smith/events/actions/qmail-update-group
   my $adb = esmith::AccountsDB->open_ro or die "Couldn't open AccountsDB";

   for my $group ($adb->groups)
   {
      #next unless ($pseudo->key =~ /@/);
      my %properties = $group->props;
      my $acct = $group->key;
      my @group_members  = split(/,/, $properties{Members});
      # Check if we should exclude members from this group email address
      my @exclude_users  = split(/,/, ($properties{EmailExcludeUsers}  || ''));
      my @exclude_groups = split(/,/, ($properties{EmailExcludeGroups} || ''));
      foreach my $exclude_group (@exclude_groups){
         my $g = $a->get($exclude_group);
         next unless $g;
         push @exclude_users, split(/,/, ($g->prop('Members')  || ''));
      }
      my %exclude = map { $_, 1 } @exclude_users;
      @exclude_users = keys %exclude;
      my @members = ();
      foreach my $user (@group_members){
         next if grep { $_ eq $user } @exclude_users;
         push @members, $user;
      }
      my $members = join(' ', @members);
      $OUT .= '/^'.$acct.'@('.$mydomains.')$/'."\t\t\t$members\n" if $members;
   }
}
