/* * 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. */ /* * Do not modify this file. This file is generated from the email-2010-12-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SimpleEmail.Model { /// /// Container for the parameters to the SendRawEmail operation. /// Composes an email message and immediately queues it for sending. /// /// /// /// This operation is more flexible than the SendEmail API operation. When /// you use the SendRawEmail operation, you can specify the headers of the /// message as well as its content. This flexibility is useful, for example, when you /// want to send a multipart MIME email (such a message that contains both a text and /// an HTML version). You can also use this operation to send messages that include attachments. /// /// /// /// The SendRawEmail operation has the following requirements: /// /// /// /// Additionally, keep the following considerations in mind when using the SendRawEmail /// operation: /// /// /// public partial class SendRawEmailRequest : AmazonSimpleEmailServiceRequest { private string _configurationSetName; private List _destinations = new List(); private string _fromArn; private RawMessage _rawMessage; private string _returnPathArn; private string _source; private string _sourceArn; private List _tags = new List(); /// /// Empty constructor used to set properties independently even when a simple constructor is available /// public SendRawEmailRequest() { } /// /// Instantiates SendRawEmailRequest with the parameterized properties /// /// The raw email message itself. The message has to meet the following criteria:
  • The message has to contain a header and a body, separated by a blank line.
  • All of the required header fields must be present in the message.
  • Each part of a multipart MIME message must be formatted properly.
  • Attachments must be of a content type that Amazon SES supports. For a list on unsupported content types, see Unsupported Attachment Types in the Amazon SES Developer Guide.
  • The entire message must be base64-encoded.
  • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, we highly recommend that you encode that content. For more information, see Sending Raw Email in the Amazon SES Developer Guide.
  • Per RFC 5321, the maximum length of each line of text, including the <CRLF>, must not exceed 1,000 characters.
public SendRawEmailRequest(RawMessage rawMessage) { _rawMessage = rawMessage; } /// /// Gets and sets the property ConfigurationSetName. /// /// The name of the configuration set to use when you send an email using SendRawEmail. /// /// public string ConfigurationSetName { get { return this._configurationSetName; } set { this._configurationSetName = value; } } // Check to see if ConfigurationSetName property is set internal bool IsSetConfigurationSetName() { return this._configurationSetName != null; } /// /// Gets and sets the property Destinations. /// /// A list of destinations for the message, consisting of To:, CC:, and BCC: addresses. /// /// public List Destinations { get { return this._destinations; } set { this._destinations = value; } } // Check to see if Destinations property is set internal bool IsSetDestinations() { return this._destinations != null && this._destinations.Count > 0; } /// /// Gets and sets the property FromArn. /// /// 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 specify /// a particular "From" address in the header of the raw email. /// /// /// /// Instead of using this parameter, you can use the X-header X-SES-FROM-ARN /// in the raw message of the email. If you use both the FromArn parameter /// and the corresponding X-header, Amazon SES uses the value of the FromArn /// parameter. /// /// /// /// For information about when to use this parameter, see the description of SendRawEmail /// in this guide, or see the Amazon /// SES Developer Guide. /// /// /// public string FromArn { get { return this._fromArn; } set { this._fromArn = value; } } // Check to see if FromArn property is set internal bool IsSetFromArn() { return this._fromArn != null; } /// /// Gets and sets the property RawMessage. /// /// The raw email message itself. The message has to meet the following criteria: /// ///
  • /// /// The message has to contain a header and a body, separated by a blank line. /// ///
  • /// /// All of the required header fields must be present in the message. /// ///
  • /// /// Each part of a multipart MIME message must be formatted properly. /// ///
  • /// /// Attachments must be of a content type that Amazon SES supports. For a list on unsupported /// content types, see Unsupported /// Attachment Types in the Amazon SES Developer Guide. /// ///
  • /// /// The entire message must be base64-encoded. /// ///
  • /// /// If any of the MIME parts in your message contain content that is outside of the 7-bit /// ASCII character range, we highly recommend that you encode that content. For more /// information, see Sending /// Raw Email in the Amazon SES Developer Guide. /// ///
  • /// /// Per RFC 5321, /// the maximum length of each line of text, including the <CRLF>, must not exceed /// 1,000 characters. /// ///
///
[AWSProperty(Required=true)] public RawMessage RawMessage { get { return this._rawMessage; } set { this._rawMessage = value; } } // Check to see if RawMessage property is set internal bool IsSetRawMessage() { return this._rawMessage != null; } /// /// Gets and sets the property ReturnPathArn. /// /// 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 ReturnPath parameter. /// /// /// /// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) /// attaches a policy to it that authorizes you to use feedback@example.com, /// then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, /// and the ReturnPath to be feedback@example.com. /// /// /// /// Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN /// in the raw message of the email. If you use both the ReturnPathArn parameter /// and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn /// parameter. /// /// /// /// For information about when to use this parameter, see the description of SendRawEmail /// in this guide, or see the Amazon /// SES Developer Guide. /// /// /// public string ReturnPathArn { get { return this._returnPathArn; } set { this._returnPathArn = value; } } // Check to see if ReturnPathArn property is set internal bool IsSetReturnPathArn() { return this._returnPathArn != null; } /// /// Gets and sets the property Source. /// /// The identity's email address. If you do not provide a value for this parameter, you /// must specify a "From" address in the raw text of the message. (You can also specify /// both.) /// /// /// /// Amazon SES does not support the SMTPUTF8 extension, as described inRFC6531. /// For this reason, the local part of a source email address (the part of the /// email address that precedes the @ sign) may only contain 7-bit /// ASCII characters. If the domain part of an address (the part after the /// @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described /// in RFC3492. The sender name /// (also known as the friendly name) may contain non-ASCII characters. These characters /// must be encoded using MIME encoded-word syntax, as described in RFC /// 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. /// /// /// /// 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 Source { get { return this._source; } set { this._source = value; } } // Check to see if Source property is set internal bool IsSetSource() { return this._source != null; } /// /// Gets and sets the property SourceArn. /// /// 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 Source parameter. /// /// /// /// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) /// attaches a policy to it that authorizes you to send from user@example.com, /// then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, /// and the Source to be user@example.com. /// /// /// /// Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN /// in the raw message of the email. If you use both the SourceArn parameter /// and the corresponding X-header, Amazon SES uses the value of the SourceArn /// parameter. /// /// /// /// For information about when to use this parameter, see the description of SendRawEmail /// in this guide, or see the Amazon /// SES Developer Guide. /// /// /// public string SourceArn { get { return this._sourceArn; } set { this._sourceArn = value; } } // Check to see if SourceArn property is set internal bool IsSetSourceArn() { return this._sourceArn != null; } /// /// Gets and sets the property Tags. /// /// A list of tags, in the form of name/value pairs, to apply to an email that you send /// using SendRawEmail. Tags correspond to characteristics of the email that /// you define, so that you can publish email sending events. /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } } }