--- /usr/share/pyshared/univention/googleapps/handler.py.old 2019-04-18 12:18:19.888000000 +0200 +++ /usr/share/pyshared/univention/googleapps/handler.py 2019-04-18 12:18:27.424000000 +0200 @@ -381,8 +381,17 @@ local_part = local_part.replace(" ", "_") else: local_part = self.get_random_ascii_string() - domain_part = self.get_primary_domain_from_disk() - new_email = "{}@{}".format(local_part, domain_part) + + customer_domains = self.list_domains() + for domain in customer_domains: + if domain["domainName"] == domain_part: + # A valid domain was given, do not modify mail address + self.logger.debug("fix_email: valid found in email address %s" % email) + return email + + # Domain not found in google account, modify given email to use primary domain part + primary_domain_part = self.get_primary_domain_from_disk() + new_email = "{}@{}".format(local_part, primary_domain_part) if email != new_email: self.logger.error("Email address %r invalid, changed to %r.", email, new_email) return new_email