/* * Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.simpleemail.model; import java.io.Serializable; /** *
* Recipient-related information to include in the Delivery Status Notification * (DSN) when an email that Amazon SES receives on your behalf bounces. *
** For information about receiving email through Amazon SES, see the Amazon SES Developer Guide. *
*/ public class RecipientDsnFields implements Serializable { /** *
* The email address that the message was ultimately delivered to. This
* corresponds to the Final-Recipient
in the DSN. If not
* specified, FinalRecipient
will be set to the
* Recipient
specified in the BouncedRecipientInfo
* structure. Either FinalRecipient
or the recipient in
* BouncedRecipientInfo
must be a recipient of the original
* bounced message.
*
* Do not prepend the FinalRecipient
email address with
* rfc 822;
, as described in RFC 3798.
*
* The action performed by the reporting mail transfer agent (MTA) as a * result of its attempt to deliver the message to the recipient address. * This is required by RFC * 3464. *
*
* Constraints:
* Allowed Values: failed, delayed, delivered, relayed, expanded
*/
private String action;
/**
*
* The MTA to which the remote MTA attempted to deliver the message,
* formatted as specified in RFC 3464 (
* mta-name-type; mta-name
). This parameter typically applies
* only to propagating synchronous bounces.
*
* The status code that indicates what went wrong. This is required by RFC 3464. *
*/ private String status; /** ** An extended explanation of what went wrong; this is usually an SMTP * response. See RFC 3463 * for the correct formatting of this parameter. *
*/ private String diagnosticCode; /** ** The time the final delivery attempt was made, in RFC 822 date-time format. *
*/ private java.util.Date lastAttemptDate; /** ** Additional X-headers to include in the DSN. *
*/ private java.util.List
* The email address that the message was ultimately delivered to. This
* corresponds to the Final-Recipient
in the DSN. If not
* specified, FinalRecipient
will be set to the
* Recipient
specified in the BouncedRecipientInfo
* structure. Either FinalRecipient
or the recipient in
* BouncedRecipientInfo
must be a recipient of the original
* bounced message.
*
* Do not prepend the FinalRecipient
email address with
* rfc 822;
, as described in RFC 3798.
*
* The email address that the message was ultimately delivered to.
* This corresponds to the Final-Recipient
in the DSN.
* If not specified, FinalRecipient
will be set to the
* Recipient
specified in the
* BouncedRecipientInfo
structure. Either
* FinalRecipient
or the recipient in
* BouncedRecipientInfo
must be a recipient of the
* original bounced message.
*
* Do not prepend the FinalRecipient
email address with
* rfc 822;
, as described in RFC 3798.
*
* The email address that the message was ultimately delivered to. This
* corresponds to the Final-Recipient
in the DSN. If not
* specified, FinalRecipient
will be set to the
* Recipient
specified in the BouncedRecipientInfo
* structure. Either FinalRecipient
or the recipient in
* BouncedRecipientInfo
must be a recipient of the original
* bounced message.
*
* Do not prepend the FinalRecipient
email address with
* rfc 822;
, as described in RFC 3798.
*
* The email address that the message was ultimately delivered
* to. This corresponds to the Final-Recipient
in
* the DSN. If not specified, FinalRecipient
will be
* set to the Recipient
specified in the
* BouncedRecipientInfo
structure. Either
* FinalRecipient
or the recipient in
* BouncedRecipientInfo
must be a recipient of the
* original bounced message.
*
* Do not prepend the FinalRecipient
email address
* with rfc 822;
, as described in RFC 3798.
*
* The email address that the message was ultimately delivered to. This
* corresponds to the Final-Recipient
in the DSN. If not
* specified, FinalRecipient
will be set to the
* Recipient
specified in the BouncedRecipientInfo
* structure. Either FinalRecipient
or the recipient in
* BouncedRecipientInfo
must be a recipient of the original
* bounced message.
*
* Do not prepend the FinalRecipient
email address with
* rfc 822;
, as described in RFC 3798.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param finalRecipient
* The email address that the message was ultimately delivered
* to. This corresponds to the Final-Recipient
in
* the DSN. If not specified, FinalRecipient
will be
* set to the Recipient
specified in the
* BouncedRecipientInfo
structure. Either
* FinalRecipient
or the recipient in
* BouncedRecipientInfo
must be a recipient of the
* original bounced message.
*
* Do not prepend the FinalRecipient
email address
* with rfc 822;
, as described in RFC 3798.
*
* The action performed by the reporting mail transfer agent (MTA) as a * result of its attempt to deliver the message to the recipient address. * This is required by RFC * 3464. *
*
* Constraints:
* Allowed Values: failed, delayed, delivered, relayed, expanded
*
* @return
* The action performed by the reporting mail transfer agent (MTA) * as a result of its attempt to deliver the message to the * recipient address. This is required by RFC 3464. *
* @see DsnAction */ public String getAction() { return action; } /** ** The action performed by the reporting mail transfer agent (MTA) as a * result of its attempt to deliver the message to the recipient address. * This is required by RFC * 3464. *
*
* Constraints:
* Allowed Values: failed, delayed, delivered, relayed, expanded
*
* @param action
* The action performed by the reporting mail transfer agent * (MTA) as a result of its attempt to deliver the message to the * recipient address. This is required by RFC 3464. *
* @see DsnAction */ public void setAction(String action) { this.action = action; } /** ** The action performed by the reporting mail transfer agent (MTA) as a * result of its attempt to deliver the message to the recipient address. * This is required by RFC * 3464. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: failed, delayed, delivered, relayed, expanded
*
* @param action
* The action performed by the reporting mail transfer agent * (MTA) as a result of its attempt to deliver the message to the * recipient address. This is required by RFC 3464. *
* @return A reference to this updated object so that method calls can be * chained together. * @see DsnAction */ public RecipientDsnFields withAction(String action) { this.action = action; return this; } /** ** The action performed by the reporting mail transfer agent (MTA) as a * result of its attempt to deliver the message to the recipient address. * This is required by RFC * 3464. *
*
* Constraints:
* Allowed Values: failed, delayed, delivered, relayed, expanded
*
* @param action
* The action performed by the reporting mail transfer agent * (MTA) as a result of its attempt to deliver the message to the * recipient address. This is required by RFC 3464. *
* @see DsnAction */ public void setAction(DsnAction action) { this.action = action.toString(); } /** ** The action performed by the reporting mail transfer agent (MTA) as a * result of its attempt to deliver the message to the recipient address. * This is required by RFC * 3464. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: failed, delayed, delivered, relayed, expanded
*
* @param action
* The action performed by the reporting mail transfer agent * (MTA) as a result of its attempt to deliver the message to the * recipient address. This is required by RFC 3464. *
* @return A reference to this updated object so that method calls can be * chained together. * @see DsnAction */ public RecipientDsnFields withAction(DsnAction action) { this.action = action.toString(); return this; } /** *
* The MTA to which the remote MTA attempted to deliver the message,
* formatted as specified in RFC 3464 (
* mta-name-type; mta-name
). This parameter typically applies
* only to propagating synchronous bounces.
*
* The MTA to which the remote MTA attempted to deliver the message,
* formatted as specified in RFC 3464 (
* mta-name-type; mta-name
). This parameter typically
* applies only to propagating synchronous bounces.
*
* The MTA to which the remote MTA attempted to deliver the message,
* formatted as specified in RFC 3464 (
* mta-name-type; mta-name
). This parameter typically applies
* only to propagating synchronous bounces.
*
* The MTA to which the remote MTA attempted to deliver the
* message, formatted as specified in RFC 3464 (
* mta-name-type; mta-name
). This parameter
* typically applies only to propagating synchronous bounces.
*
* The MTA to which the remote MTA attempted to deliver the message,
* formatted as specified in RFC 3464 (
* mta-name-type; mta-name
). This parameter typically applies
* only to propagating synchronous bounces.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param remoteMta
* The MTA to which the remote MTA attempted to deliver the
* message, formatted as specified in RFC 3464 (
* mta-name-type; mta-name
). This parameter
* typically applies only to propagating synchronous bounces.
*
* The status code that indicates what went wrong. This is required by RFC 3464. *
* * @return* The status code that indicates what went wrong. This is required * by RFC 3464. *
*/ public String getStatus() { return status; } /** ** The status code that indicates what went wrong. This is required by RFC 3464. *
* * @param status* The status code that indicates what went wrong. This is * required by RFC * 3464. *
*/ public void setStatus(String status) { this.status = status; } /** ** The status code that indicates what went wrong. This is required by RFC 3464. *
** Returns a reference to this object so that method calls can be chained * together. * * @param status
* The status code that indicates what went wrong. This is * required by RFC * 3464. *
* @return A reference to this updated object so that method calls can be * chained together. */ public RecipientDsnFields withStatus(String status) { this.status = status; return this; } /** ** An extended explanation of what went wrong; this is usually an SMTP * response. See RFC 3463 * for the correct formatting of this parameter. *
* * @return* An extended explanation of what went wrong; this is usually an * SMTP response. See RFC 3463 for the * correct formatting of this parameter. *
*/ public String getDiagnosticCode() { return diagnosticCode; } /** ** An extended explanation of what went wrong; this is usually an SMTP * response. See RFC 3463 * for the correct formatting of this parameter. *
* * @param diagnosticCode* An extended explanation of what went wrong; this is usually an * SMTP response. See RFC 3463 for * the correct formatting of this parameter. *
*/ public void setDiagnosticCode(String diagnosticCode) { this.diagnosticCode = diagnosticCode; } /** ** An extended explanation of what went wrong; this is usually an SMTP * response. See RFC 3463 * for the correct formatting of this parameter. *
** Returns a reference to this object so that method calls can be chained * together. * * @param diagnosticCode
* An extended explanation of what went wrong; this is usually an * SMTP response. See RFC 3463 for * the correct formatting of this parameter. *
* @return A reference to this updated object so that method calls can be * chained together. */ public RecipientDsnFields withDiagnosticCode(String diagnosticCode) { this.diagnosticCode = diagnosticCode; return this; } /** ** The time the final delivery attempt was made, in RFC 822 date-time format. *
* * @return* The time the final delivery attempt was made, in RFC 822 date-time * format. *
*/ public java.util.Date getLastAttemptDate() { return lastAttemptDate; } /** ** The time the final delivery attempt was made, in RFC 822 date-time format. *
* * @param lastAttemptDate* The time the final delivery attempt was made, in RFC 822 * date-time format. *
*/ public void setLastAttemptDate(java.util.Date lastAttemptDate) { this.lastAttemptDate = lastAttemptDate; } /** ** The time the final delivery attempt was made, in RFC 822 date-time format. *
** Returns a reference to this object so that method calls can be chained * together. * * @param lastAttemptDate
* The time the final delivery attempt was made, in RFC 822 * date-time format. *
* @return A reference to this updated object so that method calls can be * chained together. */ public RecipientDsnFields withLastAttemptDate(java.util.Date lastAttemptDate) { this.lastAttemptDate = lastAttemptDate; return this; } /** ** Additional X-headers to include in the DSN. *
* * @return* Additional X-headers to include in the DSN. *
*/ public java.util.List* Additional X-headers to include in the DSN. *
* * @param extensionFields* Additional X-headers to include in the DSN. *
*/ public void setExtensionFields(java.util.Collection* Additional X-headers to include in the DSN. *
** Returns a reference to this object so that method calls can be chained * together. * * @param extensionFields
* Additional X-headers to include in the DSN. *
* @return A reference to this updated object so that method calls can be * chained together. */ public RecipientDsnFields withExtensionFields(ExtensionField... extensionFields) { if (getExtensionFields() == null) { this.extensionFields = new java.util.ArrayList* Additional X-headers to include in the DSN. *
** Returns a reference to this object so that method calls can be chained * together. * * @param extensionFields
* Additional X-headers to include in the DSN. *
* @return A reference to this updated object so that method calls can be * chained together. */ public RecipientDsnFields withExtensionFields( java.util.Collection