def add(mail_host, description=None, owners=None, alias_domain=None):
    """Add a new domain.

        :param mail_host: The email host name for the domain.
        :type mail_host: string
        :param description: The description of the domain.
        :type description: string
        :param owners: Sequence of owners of the domain, defaults to None,
            meaning the domain does not have owners.
        :type owners: sequence of `IUser` or string emails.
        :param alias_domain: Alternate domain for Postfix, defaults to None
            meaning mail_host is not a Postfix virtual alias domain.
        :type alias_domain: string
        :return: The new domain object.
        :rtype: `IDomain`
        :raises `BadDomainSpecificationError`: when the `mail_host` is
            already registered.
        """
