def check_differences(self):
        logger.info("Check that mail differences are within the limits.")
        if self.conf.size_threshold < 0:
            logger.info("Skip checking for size differences.")
        if self.conf.content_threshold < 0:
            logger.info("Skip checking for content differences.")
        if self.conf.size_threshold < 0 and self.conf.content_threshold < 0:
            return
        for mail_a, mail_b in combinations(self.pool, 2):
            if self.conf.size_threshold > -1:
                size_difference = abs(mail_a.size - mail_b.size)
                logger.debug("{} and {} differs by {} bytes in size.".format(
                    mail_a, mail_b, size_difference))
                if size_difference > self.conf.size_threshold:
                    raise SizeDiffAboveThreshold
            if self.conf.content_threshold > -1:
                content_difference = self.diff(mail_a, mail_b)
                logger.debug(
                    "{} and {} differs by {} bytes in content.".format(
                        mail_a, mail_b, content_difference))
                if content_difference > self.conf.content_threshold:
                    if self.conf.show_diff:
                        logger.info(self.pretty_diff(mail_a, mail_b))
                    raise ContentDiffAboveThreshold