diff --git a/src/registrar/config/settings.py b/src/registrar/config/settings.py index 5b7af1f26..c2abd85d4 100644 --- a/src/registrar/config/settings.py +++ b/src/registrar/config/settings.py @@ -20,6 +20,9 @@ import environs from base64 import b64decode from cfenv import AppEnv # type: ignore from pathlib import Path +from typing import Final + +from botocore.config import Config # # # ### # Setup code goes here # @@ -221,9 +224,10 @@ AWS_ACCESS_KEY_ID = secret_aws_ses_key_id AWS_SECRET_ACCESS_KEY = secret_aws_ses_key AWS_REGION = "us-gov-west-1" # https://boto3.amazonaws.com/v1/documentation/api/latest/guide/retries.html#standard-retry-mode -AWS_RETRY_MODE = "standard" +AWS_RETRY_MODE: Final = "standard" # base 2 exponential backoff with max of 20 seconds: AWS_MAX_ATTEMPTS = 3 +BOTO_CONFIG = Config(retries={"mode": AWS_RETRY_MODE, "max_attempts": AWS_MAX_ATTEMPTS}) # email address to use for various automated correspondence # TODO: pick something sensible here diff --git a/src/registrar/utility/email.py b/src/registrar/utility/email.py index 9547bb952..e6de4c330 100644 --- a/src/registrar/utility/email.py +++ b/src/registrar/utility/email.py @@ -29,6 +29,7 @@ def send_templated_email(template_name: str, to_address: str, context={}): region_name=settings.AWS_REGION, aws_access_key_id=settings.AWS_ACCESS_KEY_ID, aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, + config=settings.BOTO_CONFIG, ) except Exception as exc: raise EmailSendingError("Could not access the SES client.") from exc