/*
* Copyright 2010-2016 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;
import com.amazonaws.AmazonWebServiceRequest;
/**
* <p>
* Composes an email message based on input data, and then immediately queues
* the message for sending.
* </p>
* <p>
* There are several important points to know about <code>SendEmail</code>:
* </p>
* <ul>
* <li>
* <p>
* You can only send email from verified email addresses and domains; otherwise,
* you will get an "Email address not verified" error. If your account is still
* in the Amazon SES sandbox, you must also verify every recipient email address
* except for the recipients provided by the Amazon SES mailbox simulator. For
* more information, go to the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html"
* >Amazon SES Developer Guide</a>.
* </p>
* </li>
* <li>
* <p>
* The total size of the message cannot exceed 10 MB. This includes any
* attachments that are part of the message.
* </p>
* </li>
* <li>
* <p>
* Amazon SES has a limit on the total number of recipients per message. The
* combined number of To:, CC: and BCC: email addresses cannot exceed 50. If you
* need to send an email message to a larger audience, you can divide your
* recipient list into groups of 50 or fewer, and then call Amazon SES
* repeatedly to send the message to each group.
* </p>
* </li>
* <li>
* <p>
* For every message that you send, the total number of recipients (To:, CC: and
* BCC:) is counted against your sending quota - the maximum number of emails
* you can send in a 24-hour period. For information about your sending quota,
* go to the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html"
* >Amazon SES Developer Guide</a>.
* </p>
* </li>
* </ul>
*/
public class SendEmailRequest extends AmazonWebServiceRequest implements Serializable {
/**
* <p>
* The email address that is sending the email. This email address must be
* either individually verified with Amazon SES, or from a domain that has
* been verified with Amazon SES. For information about verifying
* identities, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* If you are sending on behalf of another user and have been permitted to
* do so by a sending authorization policy, then you must also specify the
* <code>SourceArn</code> parameter. For more information about sending
* authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* In all cases, the email address must be 7-bit ASCII. If the text must
* contain any other characters, then you must use MIME encoded-word syntax
* (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the
* following form: <code>=?charset?encoding?encoded-text?=</code>. For more
* information, see <a href="http://tools.ietf.org/html/rfc2047">RFC
* 2047</a>.
* </p>
*/
private String source;
/**
* <p>
* The destination for this email, composed of To:, CC:, and BCC: fields.
* </p>
*/
private Destination destination;
/**
* <p>
* The message to be sent.
* </p>
*/
private Message message;
/**
* <p>
* The reply-to email address(es) for the message. If the recipient replies
* to the message, each reply-to address will receive the reply.
* </p>
*/
private java.util.List<String> replyToAddresses = new java.util.ArrayList<String>();
/**
* <p>
* The email address to which bounces and complaints are to be forwarded
* when feedback forwarding is enabled. If the message cannot be delivered
* to the recipient, then an error message will be returned from the
* recipient's ISP; this message will then be forwarded to the email address
* specified by the <code>ReturnPath</code> parameter. The
* <code>ReturnPath</code> parameter is never overwritten. This email
* address must be either individually verified with Amazon SES, or from a
* domain that has been verified with Amazon SES.
* </p>
*/
private String returnPath;
/**
* <p>
* This parameter is used only for sending authorization. It is the ARN of
* the identity that is associated with the sending authorization policy
* that permits you to send for the email address specified in the
* <code>Source</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the
* <code>SourceArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*/
private String sourceArn;
/**
* <p>
* This parameter is used only for sending authorization. It is the ARN of
* the identity that is associated with the sending authorization policy
* that permits you to use the email address specified in the
* <code>ReturnPath</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>ReturnPath</code> to be <code>feedback@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*/
private String returnPathArn;
/**
* Default constructor for SendEmailRequest object. Callers should use the
* setter or fluent setter (with...) methods to initialize any additional
* object members.
*/
public SendEmailRequest() {
}
/**
* Constructs a new SendEmailRequest object. Callers should use the setter
* or fluent setter (with...) methods to initialize any additional object
* members.
*
* @param source <p>
* The email address that is sending the email. This email
* address must be either individually verified with Amazon SES,
* or from a domain that has been verified with Amazon SES. For
* information about verifying identities, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* If you are sending on behalf of another user and have been
* permitted to do so by a sending authorization policy, then you
* must also specify the <code>SourceArn</code> parameter. For
* more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* In all cases, the email address must be 7-bit ASCII. If the
* text must contain any other characters, then you must use MIME
* encoded-word syntax (RFC 2047) instead of a literal string.
* MIME encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>. For more
* information, see <a
* href="http://tools.ietf.org/html/rfc2047">RFC 2047</a>.
* </p>
* @param destination <p>
* The destination for this email, composed of To:, CC:, and BCC:
* fields.
* </p>
* @param message <p>
* The message to be sent.
* </p>
*/
public SendEmailRequest(String source, Destination destination, Message message) {
setSource(source);
setDestination(destination);
setMessage(message);
}
/**
* <p>
* The email address that is sending the email. This email address must be
* either individually verified with Amazon SES, or from a domain that has
* been verified with Amazon SES. For information about verifying
* identities, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* If you are sending on behalf of another user and have been permitted to
* do so by a sending authorization policy, then you must also specify the
* <code>SourceArn</code> parameter. For more information about sending
* authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* In all cases, the email address must be 7-bit ASCII. If the text must
* contain any other characters, then you must use MIME encoded-word syntax
* (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the
* following form: <code>=?charset?encoding?encoded-text?=</code>. For more
* information, see <a href="http://tools.ietf.org/html/rfc2047">RFC
* 2047</a>.
* </p>
*
* @return <p>
* The email address that is sending the email. This email address
* must be either individually verified with Amazon SES, or from a
* domain that has been verified with Amazon SES. For information
* about verifying identities, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* If you are sending on behalf of another user and have been
* permitted to do so by a sending authorization policy, then you
* must also specify the <code>SourceArn</code> parameter. For more
* information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* In all cases, the email address must be 7-bit ASCII. If the text
* must contain any other characters, then you must use MIME
* encoded-word syntax (RFC 2047) instead of a literal string. MIME
* encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>. For more
* information, see <a href="http://tools.ietf.org/html/rfc2047">RFC
* 2047</a>.
* </p>
*/
public String getSource() {
return source;
}
/**
* <p>
* The email address that is sending the email. This email address must be
* either individually verified with Amazon SES, or from a domain that has
* been verified with Amazon SES. For information about verifying
* identities, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* If you are sending on behalf of another user and have been permitted to
* do so by a sending authorization policy, then you must also specify the
* <code>SourceArn</code> parameter. For more information about sending
* authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* In all cases, the email address must be 7-bit ASCII. If the text must
* contain any other characters, then you must use MIME encoded-word syntax
* (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the
* following form: <code>=?charset?encoding?encoded-text?=</code>. For more
* information, see <a href="http://tools.ietf.org/html/rfc2047">RFC
* 2047</a>.
* </p>
*
* @param source <p>
* The email address that is sending the email. This email
* address must be either individually verified with Amazon SES,
* or from a domain that has been verified with Amazon SES. For
* information about verifying identities, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* If you are sending on behalf of another user and have been
* permitted to do so by a sending authorization policy, then you
* must also specify the <code>SourceArn</code> parameter. For
* more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* In all cases, the email address must be 7-bit ASCII. If the
* text must contain any other characters, then you must use MIME
* encoded-word syntax (RFC 2047) instead of a literal string.
* MIME encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>. For more
* information, see <a
* href="http://tools.ietf.org/html/rfc2047">RFC 2047</a>.
* </p>
*/
public void setSource(String source) {
this.source = source;
}
/**
* <p>
* The email address that is sending the email. This email address must be
* either individually verified with Amazon SES, or from a domain that has
* been verified with Amazon SES. For information about verifying
* identities, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* If you are sending on behalf of another user and have been permitted to
* do so by a sending authorization policy, then you must also specify the
* <code>SourceArn</code> parameter. For more information about sending
* authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* In all cases, the email address must be 7-bit ASCII. If the text must
* contain any other characters, then you must use MIME encoded-word syntax
* (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the
* following form: <code>=?charset?encoding?encoded-text?=</code>. For more
* information, see <a href="http://tools.ietf.org/html/rfc2047">RFC
* 2047</a>.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param source <p>
* The email address that is sending the email. This email
* address must be either individually verified with Amazon SES,
* or from a domain that has been verified with Amazon SES. For
* information about verifying identities, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* If you are sending on behalf of another user and have been
* permitted to do so by a sending authorization policy, then you
* must also specify the <code>SourceArn</code> parameter. For
* more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* In all cases, the email address must be 7-bit ASCII. If the
* text must contain any other characters, then you must use MIME
* encoded-word syntax (RFC 2047) instead of a literal string.
* MIME encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>. For more
* information, see <a
* href="http://tools.ietf.org/html/rfc2047">RFC 2047</a>.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public SendEmailRequest withSource(String source) {
this.source = source;
return this;
}
/**
* <p>
* The destination for this email, composed of To:, CC:, and BCC: fields.
* </p>
*
* @return <p>
* The destination for this email, composed of To:, CC:, and BCC:
* fields.
* </p>
*/
public Destination getDestination() {
return destination;
}
/**
* <p>
* The destination for this email, composed of To:, CC:, and BCC: fields.
* </p>
*
* @param destination <p>
* The destination for this email, composed of To:, CC:, and BCC:
* fields.
* </p>
*/
public void setDestination(Destination destination) {
this.destination = destination;
}
/**
* <p>
* The destination for this email, composed of To:, CC:, and BCC: fields.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param destination <p>
* The destination for this email, composed of To:, CC:, and BCC:
* fields.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public SendEmailRequest withDestination(Destination destination) {
this.destination = destination;
return this;
}
/**
* <p>
* The message to be sent.
* </p>
*
* @return <p>
* The message to be sent.
* </p>
*/
public Message getMessage() {
return message;
}
/**
* <p>
* The message to be sent.
* </p>
*
* @param message <p>
* The message to be sent.
* </p>
*/
public void setMessage(Message message) {
this.message = message;
}
/**
* <p>
* The message to be sent.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param message <p>
* The message to be sent.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public SendEmailRequest withMessage(Message message) {
this.message = message;
return this;
}
/**
* <p>
* The reply-to email address(es) for the message. If the recipient replies
* to the message, each reply-to address will receive the reply.
* </p>
*
* @return <p>
* The reply-to email address(es) for the message. If the recipient
* replies to the message, each reply-to address will receive the
* reply.
* </p>
*/
public java.util.List<String> getReplyToAddresses() {
return replyToAddresses;
}
/**
* <p>
* The reply-to email address(es) for the message. If the recipient replies
* to the message, each reply-to address will receive the reply.
* </p>
*
* @param replyToAddresses <p>
* The reply-to email address(es) for the message. If the
* recipient replies to the message, each reply-to address will
* receive the reply.
* </p>
*/
public void setReplyToAddresses(java.util.Collection<String> replyToAddresses) {
if (replyToAddresses == null) {
this.replyToAddresses = null;
return;
}
this.replyToAddresses = new java.util.ArrayList<String>(replyToAddresses);
}
/**
* <p>
* The reply-to email address(es) for the message. If the recipient replies
* to the message, each reply-to address will receive the reply.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param replyToAddresses <p>
* The reply-to email address(es) for the message. If the
* recipient replies to the message, each reply-to address will
* receive the reply.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public SendEmailRequest withReplyToAddresses(String... replyToAddresses) {
if (getReplyToAddresses() == null) {
this.replyToAddresses = new java.util.ArrayList<String>(replyToAddresses.length);
}
for (String value : replyToAddresses) {
this.replyToAddresses.add(value);
}
return this;
}
/**
* <p>
* The reply-to email address(es) for the message. If the recipient replies
* to the message, each reply-to address will receive the reply.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param replyToAddresses <p>
* The reply-to email address(es) for the message. If the
* recipient replies to the message, each reply-to address will
* receive the reply.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public SendEmailRequest withReplyToAddresses(java.util.Collection<String> replyToAddresses) {
setReplyToAddresses(replyToAddresses);
return this;
}
/**
* <p>
* The email address to which bounces and complaints are to be forwarded
* when feedback forwarding is enabled. If the message cannot be delivered
* to the recipient, then an error message will be returned from the
* recipient's ISP; this message will then be forwarded to the email address
* specified by the <code>ReturnPath</code> parameter. The
* <code>ReturnPath</code> parameter is never overwritten. This email
* address must be either individually verified with Amazon SES, or from a
* domain that has been verified with Amazon SES.
* </p>
*
* @return <p>
* The email address to which bounces and complaints are to be
* forwarded when feedback forwarding is enabled. If the message
* cannot be delivered to the recipient, then an error message will
* be returned from the recipient's ISP; this message will then be
* forwarded to the email address specified by the
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code>
* parameter is never overwritten. This email address must be either
* individually verified with Amazon SES, or from a domain that has
* been verified with Amazon SES.
* </p>
*/
public String getReturnPath() {
return returnPath;
}
/**
* <p>
* The email address to which bounces and complaints are to be forwarded
* when feedback forwarding is enabled. If the message cannot be delivered
* to the recipient, then an error message will be returned from the
* recipient's ISP; this message will then be forwarded to the email address
* specified by the <code>ReturnPath</code> parameter. The
* <code>ReturnPath</code> parameter is never overwritten. This email
* address must be either individually verified with Amazon SES, or from a
* domain that has been verified with Amazon SES.
* </p>
*
* @param returnPath <p>
* The email address to which bounces and complaints are to be
* forwarded when feedback forwarding is enabled. If the message
* cannot be delivered to the recipient, then an error message
* will be returned from the recipient's ISP; this message will
* then be forwarded to the email address specified by the
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code>
* parameter is never overwritten. This email address must be
* either individually verified with Amazon SES, or from a domain
* that has been verified with Amazon SES.
* </p>
*/
public void setReturnPath(String returnPath) {
this.returnPath = returnPath;
}
/**
* <p>
* The email address to which bounces and complaints are to be forwarded
* when feedback forwarding is enabled. If the message cannot be delivered
* to the recipient, then an error message will be returned from the
* recipient's ISP; this message will then be forwarded to the email address
* specified by the <code>ReturnPath</code> parameter. The
* <code>ReturnPath</code> parameter is never overwritten. This email
* address must be either individually verified with Amazon SES, or from a
* domain that has been verified with Amazon SES.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param returnPath <p>
* The email address to which bounces and complaints are to be
* forwarded when feedback forwarding is enabled. If the message
* cannot be delivered to the recipient, then an error message
* will be returned from the recipient's ISP; this message will
* then be forwarded to the email address specified by the
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code>
* parameter is never overwritten. This email address must be
* either individually verified with Amazon SES, or from a domain
* that has been verified with Amazon SES.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public SendEmailRequest withReturnPath(String returnPath) {
this.returnPath = returnPath;
return this;
}
/**
* <p>
* This parameter is used only for sending authorization. It is the ARN of
* the identity that is associated with the sending authorization policy
* that permits you to send for the email address specified in the
* <code>Source</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the
* <code>SourceArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*
* @return <p>
* This parameter is used only for sending authorization. It is the
* ARN of the identity that is associated with the sending
* authorization policy that permits you to send for the email
* address specified in the <code>Source</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has
* ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* ) attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the
* <code>SourceArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* , and the <code>Source</code> to be <code>user@example.com</code>
* .
* </p>
* <p>
* For more information about sending authorization, see the <a
* href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*/
public String getSourceArn() {
return sourceArn;
}
/**
* <p>
* This parameter is used only for sending authorization. It is the ARN of
* the identity that is associated with the sending authorization policy
* that permits you to send for the email address specified in the
* <code>Source</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the
* <code>SourceArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*
* @param sourceArn <p>
* This parameter is used only for sending authorization. It is
* the ARN of the identity that is associated with the sending
* authorization policy that permits you to send for the email
* address specified in the <code>Source</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which
* has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* ) attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the
* <code>SourceArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* , and the <code>Source</code> to be
* <code>user@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a
* href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*/
public void setSourceArn(String sourceArn) {
this.sourceArn = sourceArn;
}
/**
* <p>
* This parameter is used only for sending authorization. It is the ARN of
* the identity that is associated with the sending authorization policy
* that permits you to send for the email address specified in the
* <code>Source</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the
* <code>SourceArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param sourceArn <p>
* This parameter is used only for sending authorization. It is
* the ARN of the identity that is associated with the sending
* authorization policy that permits you to send for the email
* address specified in the <code>Source</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which
* has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* ) attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the
* <code>SourceArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* , and the <code>Source</code> to be
* <code>user@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a
* href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public SendEmailRequest withSourceArn(String sourceArn) {
this.sourceArn = sourceArn;
return this;
}
/**
* <p>
* This parameter is used only for sending authorization. It is the ARN of
* the identity that is associated with the sending authorization policy
* that permits you to use the email address specified in the
* <code>ReturnPath</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>ReturnPath</code> to be <code>feedback@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*
* @return <p>
* This parameter is used only for sending authorization. It is the
* ARN of the identity that is associated with the sending
* authorization policy that permits you to use the email address
* specified in the <code>ReturnPath</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has
* ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* ) attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* , and the <code>ReturnPath</code> to be
* <code>feedback@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a
* href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*/
public String getReturnPathArn() {
return returnPathArn;
}
/**
* <p>
* This parameter is used only for sending authorization. It is the ARN of
* the identity that is associated with the sending authorization policy
* that permits you to use the email address specified in the
* <code>ReturnPath</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>ReturnPath</code> to be <code>feedback@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*
* @param returnPathArn <p>
* This parameter is used only for sending authorization. It is
* the ARN of the identity that is associated with the sending
* authorization policy that permits you to use the email address
* specified in the <code>ReturnPath</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which
* has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* ) attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* , and the <code>ReturnPath</code> to be
* <code>feedback@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a
* href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
*/
public void setReturnPathArn(String returnPathArn) {
this.returnPathArn = returnPathArn;
}
/**
* <p>
* This parameter is used only for sending authorization. It is the ARN of
* the identity that is associated with the sending authorization policy
* that permits you to use the email address specified in the
* <code>ReturnPath</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>ReturnPath</code> to be <code>feedback@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param returnPathArn <p>
* This parameter is used only for sending authorization. It is
* the ARN of the identity that is associated with the sending
* authorization policy that permits you to use the email address
* specified in the <code>ReturnPath</code> parameter.
* </p>
* <p>
* For example, if the owner of <code>example.com</code> (which
* has ARN
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* ) attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>
* , and the <code>ReturnPath</code> to be
* <code>feedback@example.com</code>.
* </p>
* <p>
* For more information about sending authorization, see the <a
* href=
* "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html"
* >Amazon SES Developer Guide</a>.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public SendEmailRequest withReturnPathArn(String returnPathArn) {
this.returnPathArn = returnPathArn;
return this;
}
/**
* Returns a string representation of this object; useful for testing and
* debugging.
*
* @return A string representation of this object.
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getSource() != null)
sb.append("Source: " + getSource() + ",");
if (getDestination() != null)
sb.append("Destination: " + getDestination() + ",");
if (getMessage() != null)
sb.append("Message: " + getMessage() + ",");
if (getReplyToAddresses() != null)
sb.append("ReplyToAddresses: " + getReplyToAddresses() + ",");
if (getReturnPath() != null)
sb.append("ReturnPath: " + getReturnPath() + ",");
if (getSourceArn() != null)
sb.append("SourceArn: " + getSourceArn() + ",");
if (getReturnPathArn() != null)
sb.append("ReturnPathArn: " + getReturnPathArn());
sb.append("}");
return sb.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getSource() == null) ? 0 : getSource().hashCode());
hashCode = prime * hashCode
+ ((getDestination() == null) ? 0 : getDestination().hashCode());
hashCode = prime * hashCode + ((getMessage() == null) ? 0 : getMessage().hashCode());
hashCode = prime * hashCode
+ ((getReplyToAddresses() == null) ? 0 : getReplyToAddresses().hashCode());
hashCode = prime * hashCode + ((getReturnPath() == null) ? 0 : getReturnPath().hashCode());
hashCode = prime * hashCode + ((getSourceArn() == null) ? 0 : getSourceArn().hashCode());
hashCode = prime * hashCode
+ ((getReturnPathArn() == null) ? 0 : getReturnPathArn().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SendEmailRequest == false)
return false;
SendEmailRequest other = (SendEmailRequest) obj;
if (other.getSource() == null ^ this.getSource() == null)
return false;
if (other.getSource() != null && other.getSource().equals(this.getSource()) == false)
return false;
if (other.getDestination() == null ^ this.getDestination() == null)
return false;
if (other.getDestination() != null
&& other.getDestination().equals(this.getDestination()) == false)
return false;
if (other.getMessage() == null ^ this.getMessage() == null)
return false;
if (other.getMessage() != null && other.getMessage().equals(this.getMessage()) == false)
return false;
if (other.getReplyToAddresses() == null ^ this.getReplyToAddresses() == null)
return false;
if (other.getReplyToAddresses() != null
&& other.getReplyToAddresses().equals(this.getReplyToAddresses()) == false)
return false;
if (other.getReturnPath() == null ^ this.getReturnPath() == null)
return false;
if (other.getReturnPath() != null
&& other.getReturnPath().equals(this.getReturnPath()) == false)
return false;
if (other.getSourceArn() == null ^ this.getSourceArn() == null)
return false;
if (other.getSourceArn() != null
&& other.getSourceArn().equals(this.getSourceArn()) == false)
return false;
if (other.getReturnPathArn() == null ^ this.getReturnPathArn() == null)
return false;
if (other.getReturnPathArn() != null
&& other.getReturnPathArn().equals(this.getReturnPathArn()) == false)
return false;
return true;
}
}