All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.simpleemail.model.SendEmailRequest Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2010-2015 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;

/**
 * Container for the parameters to the {@link com.amazonaws.services.simpleemail.AmazonSimpleEmailService#sendEmail(SendEmailRequest) SendEmail operation}.
 * 

* Composes an email message based on input data, and then immediately * queues the message for sending. *

*

* IMPORTANT: You can only send email from verified email * addresses and domains. If you have not requested production access to * Amazon SES, 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 Amazon SES Developer Guide. *

*

* The total size of the message cannot exceed 10 MB. *

*

* 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. *

*

* 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 * Amazon SES Developer Guide * . *

* * @see com.amazonaws.services.simpleemail.AmazonSimpleEmailService#sendEmail(SendEmailRequest) */ public class SendEmailRequest extends AmazonWebServiceRequest implements Serializable { /** * The identity's email address.

By default, the string 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: * =?charset?encoding?encoded-text?=. For more information, * see RFC 2047. */ private String source; /** * The destination for this email, composed of To:, CC:, and BCC: fields. */ private Destination destination; /** * The message to be sent. */ private Message message; /** * The reply-to email address(es) for the message. If the recipient * replies to the message, each reply-to address will receive the reply. */ private com.amazonaws.internal.ListWithAutoConstructFlag replyToAddresses; /** * The email address to which bounce notifications are to be forwarded. * 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 * ReturnPath parameter. */ private String returnPath; /** * Default constructor for a new SendEmailRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize this object after creating it. */ 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 The identity's email address.

By default, the string * 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: * =?charset?encoding?encoded-text?=. For more information, * see RFC 2047. * @param destination The destination for this email, composed of To:, * CC:, and BCC: fields. * @param message The message to be sent. */ public SendEmailRequest(String source, Destination destination, Message message) { setSource(source); setDestination(destination); setMessage(message); } /** * The identity's email address.

By default, the string 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: * =?charset?encoding?encoded-text?=. For more information, * see RFC 2047. * * @return The identity's email address.

By default, the string 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: * =?charset?encoding?encoded-text?=. For more information, * see RFC 2047. */ public String getSource() { return source; } /** * The identity's email address.

By default, the string 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: * =?charset?encoding?encoded-text?=. For more information, * see RFC 2047. * * @param source The identity's email address.

By default, the string 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: * =?charset?encoding?encoded-text?=. For more information, * see RFC 2047. */ public void setSource(String source) { this.source = source; } /** * The identity's email address.

By default, the string 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: * =?charset?encoding?encoded-text?=. For more information, * see RFC 2047. *

* Returns a reference to this object so that method calls can be chained together. * * @param source The identity's email address.

By default, the string 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: * =?charset?encoding?encoded-text?=. For more information, * see RFC 2047. * * @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; } /** * The destination for this email, composed of To:, CC:, and BCC: fields. * * @return The destination for this email, composed of To:, CC:, and BCC: fields. */ public Destination getDestination() { return destination; } /** * The destination for this email, composed of To:, CC:, and BCC: fields. * * @param destination The destination for this email, composed of To:, CC:, and BCC: fields. */ public void setDestination(Destination destination) { this.destination = destination; } /** * The destination for this email, composed of To:, CC:, and BCC: fields. *

* Returns a reference to this object so that method calls can be chained together. * * @param destination The destination for this email, composed of To:, CC:, and BCC: fields. * * @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; } /** * The message to be sent. * * @return The message to be sent. */ public Message getMessage() { return message; } /** * The message to be sent. * * @param message The message to be sent. */ public void setMessage(Message message) { this.message = message; } /** * The message to be sent. *

* Returns a reference to this object so that method calls can be chained together. * * @param message The message to be sent. * * @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; } /** * The reply-to email address(es) for the message. If the recipient * replies to the message, each reply-to address will receive the reply. * * @return The reply-to email address(es) for the message. If the recipient * replies to the message, each reply-to address will receive the reply. */ public java.util.List getReplyToAddresses() { if (replyToAddresses == null) { replyToAddresses = new com.amazonaws.internal.ListWithAutoConstructFlag(); replyToAddresses.setAutoConstruct(true); } return replyToAddresses; } /** * The reply-to email address(es) for the message. If the recipient * replies to the message, each reply-to address will receive the reply. * * @param replyToAddresses The reply-to email address(es) for the message. If the recipient * replies to the message, each reply-to address will receive the reply. */ public void setReplyToAddresses(java.util.Collection replyToAddresses) { if (replyToAddresses == null) { this.replyToAddresses = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag replyToAddressesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(replyToAddresses.size()); replyToAddressesCopy.addAll(replyToAddresses); this.replyToAddresses = replyToAddressesCopy; } /** * The reply-to email address(es) for the message. If the recipient * replies to the message, each reply-to address will receive the reply. *

* Returns a reference to this object so that method calls can be chained together. * * @param replyToAddresses The reply-to email address(es) for the message. If the recipient * replies to the message, each reply-to address will receive the reply. * * @return A reference to this updated object so that method calls can be chained * together. */ public SendEmailRequest withReplyToAddresses(String... replyToAddresses) { if (getReplyToAddresses() == null) setReplyToAddresses(new java.util.ArrayList(replyToAddresses.length)); for (String value : replyToAddresses) { getReplyToAddresses().add(value); } return this; } /** * The reply-to email address(es) for the message. If the recipient * replies to the message, each reply-to address will receive the reply. *

* Returns a reference to this object so that method calls can be chained together. * * @param replyToAddresses The reply-to email address(es) for the message. If the recipient * replies to the message, each reply-to address will receive the reply. * * @return A reference to this updated object so that method calls can be chained * together. */ public SendEmailRequest withReplyToAddresses(java.util.Collection replyToAddresses) { if (replyToAddresses == null) { this.replyToAddresses = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag replyToAddressesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(replyToAddresses.size()); replyToAddressesCopy.addAll(replyToAddresses); this.replyToAddresses = replyToAddressesCopy; } return this; } /** * The email address to which bounce notifications are to be forwarded. * 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 * ReturnPath parameter. * * @return The email address to which bounce notifications are to be forwarded. * 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 * ReturnPath parameter. */ public String getReturnPath() { return returnPath; } /** * The email address to which bounce notifications are to be forwarded. * 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 * ReturnPath parameter. * * @param returnPath The email address to which bounce notifications are to be forwarded. * 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 * ReturnPath parameter. */ public void setReturnPath(String returnPath) { this.returnPath = returnPath; } /** * The email address to which bounce notifications are to be forwarded. * 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 * ReturnPath parameter. *

* Returns a reference to this object so that method calls can be chained together. * * @param returnPath The email address to which bounce notifications are to be forwarded. * 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 * ReturnPath parameter. * * @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; } /** * 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() ); 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()); 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; return true; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy