/* * 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 SendTemplatedEmail operation. /// Composes an email message using an email template and immediately queues it for sending. /// /// /// /// In order to send email using the SendTemplatedEmail operation, your call /// to the API must meet the following requirements: /// /// /// /// If your call to the SendTemplatedEmail operation includes all of the /// required parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon /// SES can't render the email because the template contains errors, it doesn't send the /// email. Additionally, because it already accepted the message, Amazon SES doesn't return /// a message stating that it was unable to send the email. /// /// /// /// For these reasons, we highly recommend that you set up Amazon SES to send you notifications /// when Rendering Failure events occur. For more information, see Sending /// Personalized Email Using the Amazon SES API in the Amazon Simple Email Service /// Developer Guide. /// /// /// public partial class SendTemplatedEmailRequest : AmazonSimpleEmailServiceRequest { private string _configurationSetName; private Destination _destination; private List _replyToAddresses = new List(); private string _returnPath; private string _returnPathArn; private string _source; private string _sourceArn; private List _tags = new List(); private string _template; private string _templateArn; private string _templateData; /// /// Gets and sets the property ConfigurationSetName. /// /// The name of the configuration set to use when you send an email using SendTemplatedEmail. /// /// 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 Destination. /// /// The destination for this email, composed of To:, CC:, and BCC: fields. A Destination /// can include up to 50 recipients across these three fields. /// /// [AWSProperty(Required=true)] public Destination Destination { get { return this._destination; } set { this._destination = value; } } // Check to see if Destination property is set internal bool IsSetDestination() { return this._destination != null; } /// /// Gets and sets the property 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 List ReplyToAddresses { get { return this._replyToAddresses; } set { this._replyToAddresses = value; } } // Check to see if ReplyToAddresses property is set internal bool IsSetReplyToAddresses() { return this._replyToAddresses != null && this._replyToAddresses.Count > 0; } /// /// Gets and sets the property ReturnPath. /// /// The email address that bounces and complaints will be forwarded to 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 ReturnPath parameter. The ReturnPath /// 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. /// /// public string ReturnPath { get { return this._returnPath; } set { this._returnPath = value; } } // Check to see if ReturnPath property is set internal bool IsSetReturnPath() { return this._returnPath != 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. /// /// /// /// For more information about sending authorization, 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 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 Amazon /// SES Developer Guide. /// /// /// /// 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 SourceArn /// parameter. For more information about sending authorization, see the Amazon /// SES Developer Guide. /// /// /// /// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. /// 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 inRFC /// 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. /// /// /// [AWSProperty(Required=true)] 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. /// /// /// /// For more information about sending authorization, 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 SendTemplatedEmail. 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; } /// /// Gets and sets the property Template. /// /// The template to use when sending this email. /// /// [AWSProperty(Required=true)] public string Template { get { return this._template; } set { this._template = value; } } // Check to see if Template property is set internal bool IsSetTemplate() { return this._template != null; } /// /// Gets and sets the property TemplateArn. /// /// The ARN of the template to use when sending this email. /// /// public string TemplateArn { get { return this._templateArn; } set { this._templateArn = value; } } // Check to see if TemplateArn property is set internal bool IsSetTemplateArn() { return this._templateArn != null; } /// /// Gets and sets the property TemplateData. /// /// A list of replacement values to apply to the template. This parameter is a JSON object, /// typically consisting of key-value pairs in which the keys correspond to replacement /// tags in the email template. /// /// [AWSProperty(Required=true, Max=262144)] public string TemplateData { get { return this._templateData; } set { this._templateData = value; } } // Check to see if TemplateData property is set internal bool IsSetTemplateData() { return this._templateData != null; } } }