Skip to content

send_outbound_email

send_outbound_email(
    instance_id: InstanceId,
    from_email_address: EmailAddressInfo,
    destination_email_address: EmailAddressInfo,
    email_message: OutboundEmailContent,
    traffic_type: TrafficType,
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    additional_recipients: Optional[OutboundAdditionalRecipients] = None,
    source_campaign: Optional[SourceCampaign] = None,
    client_token: Optional[ClientToken] = None,
) -> SendOutboundEmailResponse

Send outbound email for outbound campaigns. For more information about outbound campaigns, see Set up Connect Customer outbound campaigns.

Only the Connect Customer outbound campaigns service principal is allowed to assume a role in your account and call this API.

Parameters:

  • instance_id (InstanceId) –

    The identifier of the Connect Customer instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

  • from_email_address (EmailAddressInfo) –

    The email address to be used for sending email.

  • destination_email_address (EmailAddressInfo) –

    The email address to send the email to.

  • additional_recipients (Optional[OutboundAdditionalRecipients], default: None ) –

    The additional recipients address of the email in CC.

  • email_message (OutboundEmailContent) –

    The email message body to be sent to the newly created email.

  • traffic_type (TrafficType) –

    Denotes the class of traffic.

    Only the CAMPAIGN traffic type is supported.

  • source_campaign (Optional[SourceCampaign], default: None ) –

    A Campaign object need for Campaign traffic type.

  • client_token (Optional[ClientToken], default: None ) –

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

Raises:

Source code in docs_src/capo_connect/_services/connect.py
def send_outbound_email(
    self,
    instance_id: "capo_connect.types.instance_id.InstanceId",
    from_email_address: "capo_connect.types.email_address_info.EmailAddressInfo",
    destination_email_address: "capo_connect.types.email_address_info.EmailAddressInfo",
    email_message: "capo_connect.types.outbound_email_content.OutboundEmailContent",
    traffic_type: "capo_connect.types.traffic_type.TrafficType",
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    additional_recipients: Optional[
        "capo_connect.types.outbound_additional_recipients.OutboundAdditionalRecipients"
    ] = None,
    source_campaign: Optional[
        "capo_connect.types.source_campaign.SourceCampaign"
    ] = None,
    client_token: Optional["capo_connect.types.client_token.ClientToken"] = None,
) -> "capo_connect.types.send_outbound_email_response.SendOutboundEmailResponse":
    """<p>Send outbound email for outbound campaigns. For more information about outbound campaigns, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/enable-outbound-campaigns.html">Set up Connect Customer outbound campaigns</a>.</p> <note> <p>Only the Connect Customer outbound campaigns service principal is allowed to assume a role in your account and call this API.</p> </note>

    Args:
        instance_id: <p>The identifier of the Connect Customer instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p>
        from_email_address: <p>The email address to be used for sending email.</p>
        destination_email_address: <p>The email address to send the email to.</p>
        additional_recipients: <p>The additional recipients address of the email in CC.</p>
        email_message: <p>The email message body to be sent to the newly created email.</p>
        traffic_type: <p>Denotes the class of traffic.</p> <note> <p>Only the CAMPAIGN traffic type is supported.</p> </note>
        source_campaign: <p>A Campaign object need for Campaign traffic type.</p>
        client_token: <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>

    Raises:
        capo_connect.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient permissions to perform this action.</p>
        capo_connect.errors.idempotency_exception.IdempotencyException: <p>An entity with the same name already exists.</p>
        capo_connect.errors.internal_service_exception.InternalServiceException: <p>Request processing failed because of an error or failure with the service.</p>
        capo_connect.errors.invalid_request_exception.InvalidRequestException: <p>The request is not valid.</p>
        capo_connect.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_connect.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The service quota has been exceeded.</p>
        capo_connect.errors.throttling_exception.ThrottlingException: <p>The throttling limit has been exceeded.</p>
        capo_connect.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_connect.types.send_outbound_email_request.SendOutboundEmailRequest]",
    ) -> OperationResponse[
        "capo_connect.types.send_outbound_email_response.SendOutboundEmailResponse"
    ]:
        import capo_connect._operations.amazon_connect_service.send_outbound_email

        output, http_response = (
            capo_connect._operations.amazon_connect_service.send_outbound_email.send_outbound_email(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_connect.types.send_outbound_email_request.SendOutboundEmailRequest",
    ) -> dict[str, Any]:
        import capo_connect.types.send_outbound_email_request

        return capo_connect.types.send_outbound_email_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("SendOutboundEmail", redact_input=_redact_input),
    )
    input_: capo_connect.types.send_outbound_email_request.SendOutboundEmailRequest = {
        "instance_id": instance_id,
        "from_email_address": from_email_address,
        "destination_email_address": destination_email_address,
        "email_message": email_message,
        "traffic_type": traffic_type,
    }
    if additional_recipients is not None:
        input_["additional_recipients"] = additional_recipients
    if source_campaign is not None:
        input_["source_campaign"] = source_campaign
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

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