Class ReceiptRule

java.lang.Object
software.amazon.awssdk.services.ses.model.ReceiptRule
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ReceiptRule.Builder,ReceiptRule>

@Generated("software.amazon.awssdk:codegen") public final class ReceiptRule extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ReceiptRule.Builder,ReceiptRule>

Receipt rules enable you to specify which actions Amazon SES should take when it receives mail on behalf of one or more email addresses or domains that you own.

Each receipt rule defines a set of email addresses or domains that it applies to. If the email addresses or domains match at least one recipient address of the message, Amazon SES executes all of the receipt rule's actions on the message.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

See Also:
  • Method Details

    • name

      public final String name()

      The name of the receipt rule. The name must meet the following requirements:

      • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), dashes (-), or periods (.).

      • Start and end with a letter or number.

      • Contain 64 characters or fewer.

      Returns:
      The name of the receipt rule. The name must meet the following requirements:

      • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), dashes (-), or periods (.).

      • Start and end with a letter or number.

      • Contain 64 characters or fewer.

    • enabled

      public final Boolean enabled()

      If true, the receipt rule is active. The default value is false.

      Returns:
      If true, the receipt rule is active. The default value is false.
    • tlsPolicy

      public final TlsPolicy tlsPolicy()

      Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to Require, Amazon SES bounces emails that are not received over TLS. The default is Optional.

      If the service returns an enum value that is not available in the current SDK version, tlsPolicy will return TlsPolicy.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from tlsPolicyAsString().

      Returns:
      Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to Require, Amazon SES bounces emails that are not received over TLS. The default is Optional.
      See Also:
    • tlsPolicyAsString

      public final String tlsPolicyAsString()

      Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to Require, Amazon SES bounces emails that are not received over TLS. The default is Optional.

      If the service returns an enum value that is not available in the current SDK version, tlsPolicy will return TlsPolicy.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from tlsPolicyAsString().

      Returns:
      Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to Require, Amazon SES bounces emails that are not received over TLS. The default is Optional.
      See Also:
    • hasRecipients

      public final boolean hasRecipients()
      For responses, this returns true if the service returned a value for the Recipients property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • recipients

      public final List<String> recipients()

      The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule matches all recipients on all verified domains.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasRecipients() method.

      Returns:
      The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule matches all recipients on all verified domains.
    • hasActions

      public final boolean hasActions()
      For responses, this returns true if the service returned a value for the Actions property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • actions

      public final List<ReceiptAction> actions()

      An ordered list of actions to perform on messages that match at least one of the recipient email addresses or domains specified in the receipt rule.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasActions() method.

      Returns:
      An ordered list of actions to perform on messages that match at least one of the recipient email addresses or domains specified in the receipt rule.
    • scanEnabled

      public final Boolean scanEnabled()

      If true, then messages that this receipt rule applies to are scanned for spam and viruses. The default value is false.

      Returns:
      If true, then messages that this receipt rule applies to are scanned for spam and viruses. The default value is false.
    • toBuilder

      public ReceiptRule.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ReceiptRule.Builder,ReceiptRule>
      Returns:
      a builder for type T
    • builder

      public static ReceiptRule.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ReceiptRule.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.