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

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

/*
 * Copyright 2010-2014 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#sendRawEmail(SendRawEmailRequest) SendRawEmail operation}.
 * 

* Sends an email message, with header and content specified by the * client. The SendRawEmail action is useful for sending * multipart MIME emails. The raw text of the message must comply with * Internet email standards; otherwise, the message cannot be sent. *

*

* 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. This includes any * attachments that are part of the message. *

*

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

*

* The To:, CC:, and BCC: headers in the raw message can contain a group * list. Note that each recipient in a group list counts towards the * 50-recipient limit. *

*

* 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#sendRawEmail(SendRawEmailRequest) */ public class SendRawEmailRequest 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. * If you specify the Source parameter and have * feedback forwarding enabled, then bounces and complaints will be sent * to this email address. This takes precedence over any * Return-Path header that you might include in the raw text of * the message. */ private String source; /** * A list of destinations for the message, consisting of To:, CC:, and * BCC: addresses. */ private com.amazonaws.internal.ListWithAutoConstructFlag destinations; /** * The raw text of the message. The client is responsible for ensuring * the following:

  • Message must contain a header and a body, * separated by a blank line.
  • All required header fields must be * present.
  • Each part of a multipart MIME message must be * formatted properly.
  • MIME content types must be among those * supported by Amazon SES. For more information, go to the Amazon * SES Developer Guide.
  • Content must be base64-encoded, if * MIME requires it.
*/ private RawMessage rawMessage; /** * Default constructor for a new SendRawEmailRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize this object after creating it. */ public SendRawEmailRequest() {} /** * Constructs a new SendRawEmailRequest object. * Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param rawMessage The raw text of the message. The client is * responsible for ensuring the following:

  • Message must * contain a header and a body, separated by a blank line.
  • All * required header fields must be present.
  • Each part of a * multipart MIME message must be formatted properly.
  • MIME * content types must be among those supported by Amazon SES. For more * information, go to the Amazon * SES Developer Guide.
  • Content must be base64-encoded, if * MIME requires it.
*/ public SendRawEmailRequest(RawMessage rawMessage) { setRawMessage(rawMessage); } /** * 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. * If you specify the Source parameter and have * feedback forwarding enabled, then bounces and complaints will be sent * to this email address. This takes precedence over any * Return-Path header that you might include in the raw text of * the message. * * @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. * If you specify the Source parameter and have * feedback forwarding enabled, then bounces and complaints will be sent * to this email address. This takes precedence over any * Return-Path header that you might include in the raw text of * the message. */ 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. * If you specify the Source parameter and have * feedback forwarding enabled, then bounces and complaints will be sent * to this email address. This takes precedence over any * Return-Path header that you might include in the raw text of * the message. * * @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. * If you specify the Source parameter and have * feedback forwarding enabled, then bounces and complaints will be sent * to this email address. This takes precedence over any * Return-Path header that you might include in the raw text of * the message. */ 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. * If you specify the Source parameter and have * feedback forwarding enabled, then bounces and complaints will be sent * to this email address. This takes precedence over any * Return-Path header that you might include in the raw text of * the message. *

* 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. * If you specify the Source parameter and have * feedback forwarding enabled, then bounces and complaints will be sent * to this email address. This takes precedence over any * Return-Path header that you might include in the raw text of * the message. * * @return A reference to this updated object so that method calls can be chained * together. */ public SendRawEmailRequest withSource(String source) { this.source = source; return this; } /** * A list of destinations for the message, consisting of To:, CC:, and * BCC: addresses. * * @return A list of destinations for the message, consisting of To:, CC:, and * BCC: addresses. */ public java.util.List getDestinations() { if (destinations == null) { destinations = new com.amazonaws.internal.ListWithAutoConstructFlag(); destinations.setAutoConstruct(true); } return destinations; } /** * A list of destinations for the message, consisting of To:, CC:, and * BCC: addresses. * * @param destinations A list of destinations for the message, consisting of To:, CC:, and * BCC: addresses. */ public void setDestinations(java.util.Collection destinations) { if (destinations == null) { this.destinations = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag destinationsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(destinations.size()); destinationsCopy.addAll(destinations); this.destinations = destinationsCopy; } /** * A list of destinations for the message, consisting of To:, CC:, and * BCC: addresses. *

* Returns a reference to this object so that method calls can be chained together. * * @param destinations A list of destinations for the message, consisting of To:, CC:, and * BCC: addresses. * * @return A reference to this updated object so that method calls can be chained * together. */ public SendRawEmailRequest withDestinations(String... destinations) { if (getDestinations() == null) setDestinations(new java.util.ArrayList(destinations.length)); for (String value : destinations) { getDestinations().add(value); } return this; } /** * A list of destinations for the message, consisting of To:, CC:, and * BCC: addresses. *

* Returns a reference to this object so that method calls can be chained together. * * @param destinations A list of destinations for the message, consisting of To:, CC:, and * BCC: addresses. * * @return A reference to this updated object so that method calls can be chained * together. */ public SendRawEmailRequest withDestinations(java.util.Collection destinations) { if (destinations == null) { this.destinations = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag destinationsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(destinations.size()); destinationsCopy.addAll(destinations); this.destinations = destinationsCopy; } return this; } /** * The raw text of the message. The client is responsible for ensuring * the following:

  • Message must contain a header and a body, * separated by a blank line.
  • All required header fields must be * present.
  • Each part of a multipart MIME message must be * formatted properly.
  • MIME content types must be among those * supported by Amazon SES. For more information, go to the Amazon * SES Developer Guide.
  • Content must be base64-encoded, if * MIME requires it.
* * @return The raw text of the message. The client is responsible for ensuring * the following:

  • Message must contain a header and a body, * separated by a blank line.
  • All required header fields must be * present.
  • Each part of a multipart MIME message must be * formatted properly.
  • MIME content types must be among those * supported by Amazon SES. For more information, go to the Amazon * SES Developer Guide.
  • Content must be base64-encoded, if * MIME requires it.
*/ public RawMessage getRawMessage() { return rawMessage; } /** * The raw text of the message. The client is responsible for ensuring * the following:

  • Message must contain a header and a body, * separated by a blank line.
  • All required header fields must be * present.
  • Each part of a multipart MIME message must be * formatted properly.
  • MIME content types must be among those * supported by Amazon SES. For more information, go to the Amazon * SES Developer Guide.
  • Content must be base64-encoded, if * MIME requires it.
* * @param rawMessage The raw text of the message. The client is responsible for ensuring * the following:

  • Message must contain a header and a body, * separated by a blank line.
  • All required header fields must be * present.
  • Each part of a multipart MIME message must be * formatted properly.
  • MIME content types must be among those * supported by Amazon SES. For more information, go to the Amazon * SES Developer Guide.
  • Content must be base64-encoded, if * MIME requires it.
*/ public void setRawMessage(RawMessage rawMessage) { this.rawMessage = rawMessage; } /** * The raw text of the message. The client is responsible for ensuring * the following:

  • Message must contain a header and a body, * separated by a blank line.
  • All required header fields must be * present.
  • Each part of a multipart MIME message must be * formatted properly.
  • MIME content types must be among those * supported by Amazon SES. For more information, go to the Amazon * SES Developer Guide.
  • Content must be base64-encoded, if * MIME requires it.
*

* Returns a reference to this object so that method calls can be chained together. * * @param rawMessage The raw text of the message. The client is responsible for ensuring * the following:

  • Message must contain a header and a body, * separated by a blank line.
  • All required header fields must be * present.
  • Each part of a multipart MIME message must be * formatted properly.
  • MIME content types must be among those * supported by Amazon SES. For more information, go to the Amazon * SES Developer Guide.
  • Content must be base64-encoded, if * MIME requires it.
* * @return A reference to this updated object so that method calls can be chained * together. */ public SendRawEmailRequest withRawMessage(RawMessage rawMessage) { this.rawMessage = rawMessage; 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 (getDestinations() != null) sb.append("Destinations: " + getDestinations() + ","); if (getRawMessage() != null) sb.append("RawMessage: " + getRawMessage() ); 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 + ((getDestinations() == null) ? 0 : getDestinations().hashCode()); hashCode = prime * hashCode + ((getRawMessage() == null) ? 0 : getRawMessage().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SendRawEmailRequest == false) return false; SendRawEmailRequest other = (SendRawEmailRequest)obj; if (other.getSource() == null ^ this.getSource() == null) return false; if (other.getSource() != null && other.getSource().equals(this.getSource()) == false) return false; if (other.getDestinations() == null ^ this.getDestinations() == null) return false; if (other.getDestinations() != null && other.getDestinations().equals(this.getDestinations()) == false) return false; if (other.getRawMessage() == null ^ this.getRawMessage() == null) return false; if (other.getRawMessage() != null && other.getRawMessage().equals(this.getRawMessage()) == false) return false; return true; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy