def METHOD_NAME(self, emails_num=4, email_search_start_date=""):
    self.mail.login()
    self.mail.select_dir(self.mail_dir)
    recent_cbs_emails = self.get_recent_cbs_emails(
        emails_num=emails_num, email_search_start_date=email_search_start_date
    )
    for msgId, mtime in recent_cbs_emails:
        typ, message_parts = self.mail.imap_session.fetch(msgId, "(RFC822)")
        if typ != "OK":
            logging.error("Error fetching mail.")
            raise Exception("Error fetching mail")
        email_body = message_parts[0][1]
        if type(email_body) is bytes:
            email_body = email_body.decode("utf-8")
        mail = email.message_from_string(email_body)
        for part in mail.walk():
            if (
                part.get_content_maintype() == "multipart"
                or part.get("Content-Disposition") is None
            ):
                continue
            filename = part.get_filename()
            if bool(filename) and filename.endswith(".zip"):
                filename = "{0}-{1}_{2}-{3}.zip".format(
                    "cbs_data", mtime.date(), mtime.hour, mtime.minute
                )
                self.create_temp_files_dir()
                filepath = os.path.join(self.get_temp_files_dir(), filename)
                if os.path.isfile(filepath):
                    break
                logging.info("Currently loading: " + filename + "       ")
                with open(filepath, "wb+") as fp:
                    fp.write(part.get_payload(decode=True))
                non_zip_path = filepath.replace("zip", "")
                with zipfile.ZipFile(filepath, "r") as zf:
                    zf.extractall(non_zip_path)
                preprocessing_cbs_files.update_cbs_files_names(non_zip_path)
                acc_data_file_path = preprocessing_cbs_files.get_accidents_file_data(
                    non_zip_path
                )
                provider_code, year = get_file_type_and_year(acc_data_file_path)
                s3_uploader = S3Uploader()
                # delete current cbs data from s3
                s3_uploader.delete_from_s3(provider_code, year)
                # upload new cbs data to s3
                for file in os.scandir(non_zip_path):
                    s3_uploader.upload_to_s3(
                        local_file_path=file.path, provider_code=provider_code, year=year
                    )
                self.delete_temp_files_dir()
    self.mail.imap_session.close()
    self.mail.imap_session.logout()