/*
* 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 SendBulkTemplatedEmail operation.
/// Composes an email message to multiple destinations. The message body is created using
/// an email template.
///
///
///
/// In order to send email using the SendBulkTemplatedEmail
operation, your
/// call to the API must meet the following requirements:
///
/// -
///
/// The call must refer to an existing email template. You can create email templates
/// using the CreateTemplate operation.
///
///
-
///
/// The message must be sent from a verified email address or domain.
///
///
-
///
/// If your account is still in the Amazon SES sandbox, you may only send to verified
/// addresses or domains, or to email addresses associated with the Amazon SES Mailbox
/// Simulator. For more information, see Verifying
/// Email Addresses and Domains in the Amazon SES Developer Guide.
///
///
-
///
/// The maximum message size is 10 MB.
///
///
-
///
/// Each
Destination
parameter must include at least one recipient email
/// address. The recipient address can be a To: address, a CC: address, or a BCC: address.
/// If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain),
/// the entire message will be rejected, even if the message contains other recipients
/// that are valid.
///
/// -
///
/// The message may not include more than 50 recipients, across the To:, CC: and BCC:
/// fields. 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 the
SendBulkTemplatedEmail
/// operation several times to send the message to each group.
///
/// -
///
/// The number of destinations you can contact in a single call to the API may be limited
/// by your account's maximum sending rate.
///
///
///
public partial class SendBulkTemplatedEmailRequest : AmazonSimpleEmailServiceRequest
{
private string _configurationSetName;
private List _defaultTags = new List();
private string _defaultTemplateData;
private List _destinations = new List();
private List _replyToAddresses = new List();
private string _returnPath;
private string _returnPathArn;
private string _source;
private string _sourceArn;
private string _template;
private string _templateArn;
///
/// Gets and sets the property ConfigurationSetName.
///
/// The name of the configuration set to use when you send an email using SendBulkTemplatedEmail
.
///
///
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 DefaultTags.
///
/// A list of tags, in the form of name/value pairs, to apply to an email that you send
/// to a destination using SendBulkTemplatedEmail
.
///
///
public List DefaultTags
{
get { return this._defaultTags; }
set { this._defaultTags = value; }
}
// Check to see if DefaultTags property is set
internal bool IsSetDefaultTags()
{
return this._defaultTags != null && this._defaultTags.Count > 0;
}
///
/// Gets and sets the property DefaultTemplateData.
///
/// A list of replacement values to apply to the template when replacement data is not
/// specified in a Destination object. These values act as a default or fallback option
/// when no other data is available.
///
///
///
/// The template data is a JSON object, typically consisting of key-value pairs in which
/// the keys correspond to replacement tags in the email template.
///
///
[AWSProperty(Max=262144)]
public string DefaultTemplateData
{
get { return this._defaultTemplateData; }
set { this._defaultTemplateData = value; }
}
// Check to see if DefaultTemplateData property is set
internal bool IsSetDefaultTemplateData()
{
return this._defaultTemplateData != null;
}
///
/// Gets and sets the property Destinations.
///
/// One or more Destination
objects. All of the recipients in a Destination
/// will receive the same version of the email. You can specify up to 50 Destination
/// objects within a Destinations
array.
///
///
[AWSProperty(Required=true)]
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 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 in RFC
/// 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 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;
}
}
}