/*
* Copyright 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 sesv2-2019-09-27.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SimpleEmailV2.Model
{
///
/// Container for the parameters to the SendEmail operation.
/// Sends an email message. You can use the Amazon SES API v2 to send the following types
/// of messages:
///
/// -
///
/// Simple – A standard email message. When you create this type of message, you
/// specify the sender, the recipient, and the message body, and Amazon SES assembles
/// the message for you.
///
///
-
///
/// Raw – A raw, MIME-formatted email message. When you send this type of email,
/// you have to specify all of the message headers, as well as the message body. You can
/// use this message type to send messages that contain attachments. The message that
/// you specify has to be a valid MIME message.
///
///
-
///
/// Templated – A message that contains personalization tags. When you send this
/// type of email, Amazon SES API v2 automatically replaces the tags with values that
/// you specify.
///
///
///
public partial class SendEmailRequest : AmazonSimpleEmailServiceV2Request
{
private string _configurationSetName;
private EmailContent _content;
private Destination _destination;
private List _emailTags = new List();
private string _feedbackForwardingEmailAddress;
private string _feedbackForwardingEmailAddressIdentityArn;
private string _fromEmailAddress;
private string _fromEmailAddressIdentityArn;
private ListManagementOptions _listManagementOptions;
private List _replyToAddresses = new List();
///
/// Gets and sets the property ConfigurationSetName.
///
/// The name of the configuration set to use when sending the email.
///
///
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 Content.
///
/// An object that contains the body of the message. You can send either a Simple message
/// Raw message or a template Message.
///
///
[AWSProperty(Required=true)]
public EmailContent Content
{
get { return this._content; }
set { this._content = value; }
}
// Check to see if Content property is set
internal bool IsSetContent()
{
return this._content != null;
}
///
/// Gets and sets the property Destination.
///
/// An object that contains the recipients of the email message.
///
///
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 EmailTags.
///
/// A list of tags, in the form of name/value pairs, to apply to an email that you send
/// using the SendEmail
operation. Tags correspond to characteristics of
/// the email that you define, so that you can publish email sending events.
///
///
public List EmailTags
{
get { return this._emailTags; }
set { this._emailTags = value; }
}
// Check to see if EmailTags property is set
internal bool IsSetEmailTags()
{
return this._emailTags != null && this._emailTags.Count > 0;
}
///
/// Gets and sets the property FeedbackForwardingEmailAddress.
///
/// The address that you want bounce and complaint notifications to be sent to.
///
///
public string FeedbackForwardingEmailAddress
{
get { return this._feedbackForwardingEmailAddress; }
set { this._feedbackForwardingEmailAddress = value; }
}
// Check to see if FeedbackForwardingEmailAddress property is set
internal bool IsSetFeedbackForwardingEmailAddress()
{
return this._feedbackForwardingEmailAddress != null;
}
///
/// Gets and sets the property FeedbackForwardingEmailAddressIdentityArn.
///
/// 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 FeedbackForwardingEmailAddress
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 FeedbackForwardingEmailAddressIdentityArn
to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
/// and the FeedbackForwardingEmailAddress
to be feedback@example.com.
///
///
///
/// For more information about sending authorization, see the Amazon
/// SES Developer Guide.
///
///
public string FeedbackForwardingEmailAddressIdentityArn
{
get { return this._feedbackForwardingEmailAddressIdentityArn; }
set { this._feedbackForwardingEmailAddressIdentityArn = value; }
}
// Check to see if FeedbackForwardingEmailAddressIdentityArn property is set
internal bool IsSetFeedbackForwardingEmailAddressIdentityArn()
{
return this._feedbackForwardingEmailAddressIdentityArn != null;
}
///
/// Gets and sets the property FromEmailAddress.
///
/// The email address to use as the "From" address for the email. The address that you
/// specify has to be verified.
///
///
public string FromEmailAddress
{
get { return this._fromEmailAddress; }
set { this._fromEmailAddress = value; }
}
// Check to see if FromEmailAddress property is set
internal bool IsSetFromEmailAddress()
{
return this._fromEmailAddress != null;
}
///
/// Gets and sets the property FromEmailAddressIdentityArn.
///
/// 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 FromEmailAddress
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 sender@example.com, then you would
/// specify the FromEmailAddressIdentityArn
to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
/// and the FromEmailAddress
to be sender@example.com.
///
///
///
/// For more information about sending authorization, see the Amazon
/// SES Developer Guide.
///
///
///
/// For Raw emails, the FromEmailAddressIdentityArn
value overrides the X-SES-SOURCE-ARN
/// and X-SES-FROM-ARN headers specified in raw email message content.
///
///
public string FromEmailAddressIdentityArn
{
get { return this._fromEmailAddressIdentityArn; }
set { this._fromEmailAddressIdentityArn = value; }
}
// Check to see if FromEmailAddressIdentityArn property is set
internal bool IsSetFromEmailAddressIdentityArn()
{
return this._fromEmailAddressIdentityArn != null;
}
///
/// Gets and sets the property ListManagementOptions.
///
/// An object used to specify a list or topic to which an email belongs, which will be
/// used when a contact chooses to unsubscribe.
///
///
public ListManagementOptions ListManagementOptions
{
get { return this._listManagementOptions; }
set { this._listManagementOptions = value; }
}
// Check to see if ListManagementOptions property is set
internal bool IsSetListManagementOptions()
{
return this._listManagementOptions != null;
}
///
/// Gets and sets the property ReplyToAddresses.
///
/// The "Reply-to" email addresses for the message. When the recipient replies to the
/// message, each Reply-to address receives 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;
}
}
}