diff --git a/aws_lambda_powertools/utilities/parser/models/ses.py b/aws_lambda_powertools/utilities/parser/models/ses.py index 70fd2e83978..a12c7748504 100644 --- a/aws_lambda_powertools/utilities/parser/models/ses.py +++ b/aws_lambda_powertools/utilities/parser/models/ses.py @@ -1,12 +1,21 @@ +import logging +import sys from datetime import datetime -from typing import List, Optional +from typing import List, NewType, Optional from pydantic import BaseModel, Field -from pydantic.networks import EmailStr from pydantic.types import PositiveInt from ..types import Literal +has_email_validator = "email_validator" in sys.modules + +if has_email_validator: + from pydantic.networks import EmailStr +else: + logging.warning("email_validator package is not installed") + EmailStr = NewType("EmailStr", str) # type: ignore[no-redef, misc] + class SesReceiptVerdict(BaseModel): status: Literal["PASS", "FAIL", "GRAY", "PROCESSING_FAILED"]