def validate_email(self, email):
        if not email:
            return email, 'The e-mail is empty.'
        
        parts = email.split('@')
        
        if len(parts) != 2:
            return email, 'An email address must contain a single @'
        
        local, domain = parts
        
        # Validate the domain
        domain, err = self.validate_domain(domain)
        if err:
            return email, "The e-mail has a problem to the right of the @: %s" % err
        
        # Validate the local part
        local, err = self.validate_local_part(local)
        if err:
            return email, "The email has a problem to the left of the @: %s" % err
        
        # It is valid
        return local + '@' + domain, ''
dataset/ETHPy150Open marrow/mailer/marrow/mailer/validator.py/EmailValidator.validate_email/original