Interface EmailAsync

  • All Superinterfaces:
    AutoCloseable
    All Known Implementing Classes:
    EmailAsyncClient

    @Generated(value="OracleSDKGenerator",
               comments="API Version: 20170907")
    public interface EmailAsync
    extends AutoCloseable
    Use the Email Delivery API to do the necessary set up to send high-volume and application-generated emails through the OCI Email Delivery service.

    For more information, see Overview of the Email Delivery Service.

    *Note:** Write actions (POST, UPDATE, DELETE) may take several minutes to propagate and be reflected by the API. If a subsequent read request fails to reflect your changes, wait a few minutes and try again.

    • Method Detail

      • refreshClient

        void refreshClient()
        Rebuilds the client from scratch.

        Useful to refresh certificates.

      • setEndpoint

        void setEndpoint​(String endpoint)
        Sets the endpoint to call (ex, https://www.example.com).
        Parameters:
        endpoint - The endpoint of the serice.
      • getEndpoint

        String getEndpoint()
        Gets the set endpoint for REST call (ex, https://www.example.com)
      • setRegion

        void setRegion​(Region region)
        Sets the region to call (ex, Region.US_PHOENIX_1).

        Note, this will call setEndpoint after resolving the endpoint. If the service is not available in this region, however, an IllegalArgumentException will be raised.

        Parameters:
        region - The region of the service.
      • setRegion

        void setRegion​(String regionId)
        Sets the region to call (ex, ‘us-phoenix-1’).

        Note, this will first try to map the region ID to a known Region and call setRegion.

        If no known Region could be determined, it will create an endpoint based on the default endpoint format (Region.formatDefaultRegionEndpoint(Service, String) and then call setEndpoint.

        Parameters:
        regionId - The public region ID.
      • useRealmSpecificEndpointTemplate

        void useRealmSpecificEndpointTemplate​(boolean realmSpecificEndpointTemplateEnabled)
        Determines whether realm specific endpoint should be used or not.

        Set realmSpecificEndpointTemplateEnabled to “true” if the user wants to enable use of realm specific endpoint template, otherwise set it to “false”

        Parameters:
        realmSpecificEndpointTemplateEnabled - flag to enable the use of realm specific endpoint template
      • changeEmailDomainCompartment

        Future<ChangeEmailDomainCompartmentResponse> changeEmailDomainCompartment​(ChangeEmailDomainCompartmentRequest request,
                                                                                  AsyncHandler<ChangeEmailDomainCompartmentRequest,​ChangeEmailDomainCompartmentResponse> handler)
        Moves an email domain into a different compartment.

        When provided, If-Match is checked against ETag value of the resource. For information about moving resources between compartments, see Moving Resources to a Different Compartment.

        *Note:** All DKIM objects associated with this email domain will also be moved into the provided compartment.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • changeSenderCompartment

        Future<ChangeSenderCompartmentResponse> changeSenderCompartment​(ChangeSenderCompartmentRequest request,
                                                                        AsyncHandler<ChangeSenderCompartmentRequest,​ChangeSenderCompartmentResponse> handler)
        Moves a sender into a different compartment.

        When provided, If-Match is checked against ETag values of the resource.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createDkim

        Future<CreateDkimResponse> createDkim​(CreateDkimRequest request,
                                              AsyncHandler<CreateDkimRequest,​CreateDkimResponse> handler)
        Creates a new DKIM for an email domain.

        This DKIM signs all approved senders in the tenancy that are in this email domain. Best security practices indicate to periodically rotate the DKIM that is doing the signing. When a second DKIM is applied, all senders seamlessly pick up the new key without interruption in signing.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createEmailDomain

        Future<CreateEmailDomainResponse> createEmailDomain​(CreateEmailDomainRequest request,
                                                            AsyncHandler<CreateEmailDomainRequest,​CreateEmailDomainResponse> handler)
        Creates a new email domain.

        Avoid entering confidential information.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createEmailReturnPath

        Future<CreateEmailReturnPathResponse> createEmailReturnPath​(CreateEmailReturnPathRequest request,
                                                                    AsyncHandler<CreateEmailReturnPathRequest,​CreateEmailReturnPathResponse> handler)
        Creates a new email return path.

        Avoid entering confidential information.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createSender

        Future<CreateSenderResponse> createSender​(CreateSenderRequest request,
                                                  AsyncHandler<CreateSenderRequest,​CreateSenderResponse> handler)
        Creates a sender for a tenancy in a given compartment.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createSuppression

        Future<CreateSuppressionResponse> createSuppression​(CreateSuppressionRequest request,
                                                            AsyncHandler<CreateSuppressionRequest,​CreateSuppressionResponse> handler)
        Adds recipient email addresses to the suppression list for a tenancy.

        Addresses added to the suppression list via the API are denoted as "MANUAL" in the reason field. Note: All email addresses added to the suppression list are normalized to include only lowercase letters.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteDkim

        Future<DeleteDkimResponse> deleteDkim​(DeleteDkimRequest request,
                                              AsyncHandler<DeleteDkimRequest,​DeleteDkimResponse> handler)
        Deletes a DKIM.

        If this key is currently the active key for the email domain, deleting the key will stop signing the domain’s outgoing mail. DKIM keys are left in DELETING state for about a day to allow DKIM signatures on in-transit mail to be validated. Consider creating a new DKIM for this domain so the signing can be rotated to it instead of deletion.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteEmailDomain

        Future<DeleteEmailDomainResponse> deleteEmailDomain​(DeleteEmailDomainRequest request,
                                                            AsyncHandler<DeleteEmailDomainRequest,​DeleteEmailDomainResponse> handler)
        Deletes an email domain.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteEmailReturnPath

        Future<DeleteEmailReturnPathResponse> deleteEmailReturnPath​(DeleteEmailReturnPathRequest request,
                                                                    AsyncHandler<DeleteEmailReturnPathRequest,​DeleteEmailReturnPathResponse> handler)
        Deletes an email return path.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteSender

        Future<DeleteSenderResponse> deleteSender​(DeleteSenderRequest request,
                                                  AsyncHandler<DeleteSenderRequest,​DeleteSenderResponse> handler)
        Deletes an approved sender for a tenancy in a given compartment for a provided senderId.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteSuppression

        Future<DeleteSuppressionResponse> deleteSuppression​(DeleteSuppressionRequest request,
                                                            AsyncHandler<DeleteSuppressionRequest,​DeleteSuppressionResponse> handler)
        Removes a suppressed recipient email address from the suppression list for a tenancy in a given compartment for a provided suppressionId.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getDkim

        Future<GetDkimResponse> getDkim​(GetDkimRequest request,
                                        AsyncHandler<GetDkimRequest,​GetDkimResponse> handler)
        Retrieves the specified DKIM.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getEmailConfiguration

        Future<GetEmailConfigurationResponse> getEmailConfiguration​(GetEmailConfigurationRequest request,
                                                                    AsyncHandler<GetEmailConfigurationRequest,​GetEmailConfigurationResponse> handler)
        Returns email configuration associated with the specified compartment.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getEmailDomain

        Future<GetEmailDomainResponse> getEmailDomain​(GetEmailDomainRequest request,
                                                      AsyncHandler<GetEmailDomainRequest,​GetEmailDomainResponse> handler)
        Retrieves the specified email domain.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getEmailReturnPath

        Future<GetEmailReturnPathResponse> getEmailReturnPath​(GetEmailReturnPathRequest request,
                                                              AsyncHandler<GetEmailReturnPathRequest,​GetEmailReturnPathResponse> handler)
        Retrieves the specified email return path.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getSender

        Future<GetSenderResponse> getSender​(GetSenderRequest request,
                                            AsyncHandler<GetSenderRequest,​GetSenderResponse> handler)
        Gets an approved sender for a given senderId.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getSuppression

        Future<GetSuppressionResponse> getSuppression​(GetSuppressionRequest request,
                                                      AsyncHandler<GetSuppressionRequest,​GetSuppressionResponse> handler)
        Gets the details of a suppressed recipient email address for a given suppressionId.

        Each suppression is given a unique OCID.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getWorkRequest

        Future<GetWorkRequestResponse> getWorkRequest​(GetWorkRequestRequest request,
                                                      AsyncHandler<GetWorkRequestRequest,​GetWorkRequestResponse> handler)
        Gets the status of the work request with the given ID.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listDkims

        Future<ListDkimsResponse> listDkims​(ListDkimsRequest request,
                                            AsyncHandler<ListDkimsRequest,​ListDkimsResponse> handler)
        Lists DKIMs for an email domain.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listEmailDomains

        Future<ListEmailDomainsResponse> listEmailDomains​(ListEmailDomainsRequest request,
                                                          AsyncHandler<ListEmailDomainsRequest,​ListEmailDomainsResponse> handler)
        Lists email domains in the specified compartment.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listEmailReturnPaths

        Future<ListEmailReturnPathsResponse> listEmailReturnPaths​(ListEmailReturnPathsRequest request,
                                                                  AsyncHandler<ListEmailReturnPathsRequest,​ListEmailReturnPathsResponse> handler)
        Lists email return paths in the specified compartment or emaildomain.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listSenders

        Future<ListSendersResponse> listSenders​(ListSendersRequest request,
                                                AsyncHandler<ListSendersRequest,​ListSendersResponse> handler)
        Gets a collection of approved sender email addresses and sender IDs.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listSuppressions

        Future<ListSuppressionsResponse> listSuppressions​(ListSuppressionsRequest request,
                                                          AsyncHandler<ListSuppressionsRequest,​ListSuppressionsResponse> handler)
        Gets a list of suppressed recipient email addresses for a user.

        The compartmentId for suppressions must be a tenancy OCID. The returned list is sorted by creation time in descending order.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listWorkRequestErrors

        Future<ListWorkRequestErrorsResponse> listWorkRequestErrors​(ListWorkRequestErrorsRequest request,
                                                                    AsyncHandler<ListWorkRequestErrorsRequest,​ListWorkRequestErrorsResponse> handler)
        Return a (paginated) list of errors for a given work request.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listWorkRequestLogs

        Future<ListWorkRequestLogsResponse> listWorkRequestLogs​(ListWorkRequestLogsRequest request,
                                                                AsyncHandler<ListWorkRequestLogsRequest,​ListWorkRequestLogsResponse> handler)
        Return a (paginated) list of logs for a given work request.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listWorkRequests

        Future<ListWorkRequestsResponse> listWorkRequests​(ListWorkRequestsRequest request,
                                                          AsyncHandler<ListWorkRequestsRequest,​ListWorkRequestsResponse> handler)
        Lists the work requests in a compartment.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateDkim

        Future<UpdateDkimResponse> updateDkim​(UpdateDkimRequest request,
                                              AsyncHandler<UpdateDkimRequest,​UpdateDkimResponse> handler)
        Modifies a DKIM.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateEmailDomain

        Future<UpdateEmailDomainResponse> updateEmailDomain​(UpdateEmailDomainRequest request,
                                                            AsyncHandler<UpdateEmailDomainRequest,​UpdateEmailDomainResponse> handler)
        Modifies an email domain.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateEmailReturnPath

        Future<UpdateEmailReturnPathResponse> updateEmailReturnPath​(UpdateEmailReturnPathRequest request,
                                                                    AsyncHandler<UpdateEmailReturnPathRequest,​UpdateEmailReturnPathResponse> handler)
        Modifies an email return path.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateSender

        Future<UpdateSenderResponse> updateSender​(UpdateSenderRequest request,
                                                  AsyncHandler<UpdateSenderRequest,​UpdateSenderResponse> handler)
        Replaces the set of tags for a sender with the tags provided.

        If either freeform or defined tags are omitted, the tags for that set remain the same. Each set must include the full set of tags for the sender, partial updates are not permitted. For more information about tagging, see Resource Tags.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.