Skip to content

put_account_details

put_account_details(
    mail_type: MailType,
    website_url: WebsiteURL,
    *,
    config_overrides: Optional[SESv2ClientConfig] = None,
    contact_language: Optional[ContactLanguage] = None,
    use_case_description: Optional[UseCaseDescription] = None,
    additional_contact_email_addresses: Optional[
        AdditionalContactEmailAddresses
    ] = None,
    production_access_enabled: Optional[EnabledWrapper] = None,
) -> PutAccountDetailsResponse

Update your Amazon SES account details.

Parameters:

  • mail_type (MailType) –

    The type of email your account will send.

  • website_url (WebsiteURL) –

    The URL of your website. This information helps us better understand the type of content that you plan to send.

  • contact_language (Optional[ContactLanguage], default: None ) –

    The language you would prefer to be contacted with.

  • use_case_description (Optional[UseCaseDescription], default: None ) –

    A description of the types of email that you plan to send.

  • additional_contact_email_addresses (Optional[AdditionalContactEmailAddresses], default: None ) –

    Additional email addresses that you would like to be notified regarding Amazon SES matters.

  • production_access_enabled (Optional[EnabledWrapper], default: None ) –

    Indicates whether or not your account should have production access in the current Amazon Web Services Region.

    If the value is false, then your account is in the sandbox. When your account is in the sandbox, you can only send email to verified identities.

    If the value is true, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.

Raises:

Source code in docs_src/capo_sesv2/_services/se_sv2.py
def put_account_details(
    self,
    mail_type: "capo_sesv2.types.mail_type.MailType",
    website_url: "capo_sesv2.types.website_url.WebsiteURL",
    *,
    config_overrides: Optional[SESv2ClientConfig] = None,
    contact_language: Optional[
        "capo_sesv2.types.contact_language.ContactLanguage"
    ] = None,
    use_case_description: Optional[
        "capo_sesv2.types.use_case_description.UseCaseDescription"
    ] = None,
    additional_contact_email_addresses: Optional[
        "capo_sesv2.types.additional_contact_email_addresses.AdditionalContactEmailAddresses"
    ] = None,
    production_access_enabled: Optional[
        "capo_sesv2.types.enabled_wrapper.EnabledWrapper"
    ] = None,
) -> "capo_sesv2.types.put_account_details_response.PutAccountDetailsResponse":
    """<p>Update your Amazon SES account details.</p>

    Args:
        mail_type: <p>The type of email your account will send.</p>
        website_url: <p>The URL of your website. This information helps us better understand the type of content that you plan to send.</p>
        contact_language: <p>The language you would prefer to be contacted with.</p>
        use_case_description: <p>A description of the types of email that you plan to send.</p>
        additional_contact_email_addresses: <p>Additional email addresses that you would like to be notified regarding Amazon SES matters.</p>
        production_access_enabled: <p>Indicates whether or not your account should have production access in the current Amazon Web Services Region.</p> <p>If the value is <code>false</code>, then your account is in the <i>sandbox</i>. When your account is in the sandbox, you can only send email to verified identities. </p> <p>If the value is <code>true</code>, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.</p>

    Raises:
        capo_sesv2.errors.bad_request_exception.BadRequestException: <p>The input you provided is invalid.</p>
        capo_sesv2.errors.conflict_exception.ConflictException: <p>If there is already an ongoing account details update under review.</p>
        capo_sesv2.errors.too_many_requests_exception.TooManyRequestsException: <p>Too many requests have been made to the operation.</p>
        capo_sesv2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_sesv2.types.put_account_details_request.PutAccountDetailsRequest]",
    ) -> OperationResponse[
        "capo_sesv2.types.put_account_details_response.PutAccountDetailsResponse"
    ]:
        import capo_sesv2._operations.simple_email_service_v2.put_account_details

        output, http_response = (
            capo_sesv2._operations.simple_email_service_v2.put_account_details.put_account_details(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_sesv2.types.put_account_details_request.PutAccountDetailsRequest",
    ) -> dict[str, Any]:
        import capo_sesv2.types.put_account_details_request

        return capo_sesv2.types.put_account_details_request.redact_sensitive(input_)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("PutAccountDetails", redact_input=_redact_input),
    )
    input_: capo_sesv2.types.put_account_details_request.PutAccountDetailsRequest = {
        "mail_type": mail_type,
        "website_url": website_url,
    }
    if contact_language is not None:
        input_["contact_language"] = contact_language
    if use_case_description is not None:
        input_["use_case_description"] = use_case_description
    if additional_contact_email_addresses is not None:
        input_["additional_contact_email_addresses"] = (
            additional_contact_email_addresses
        )
    if production_access_enabled is not None:
        input_["production_access_enabled"] = production_access_enabled

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output