/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace SESV2 { namespace Model { /** *

Represents a request to send a single formatted email using Amazon SES. For * more information, see the Amazon * SES Developer Guide.

See Also:

AWS * API Reference

*/ class SendEmailRequest : public SESV2Request { public: AWS_SESV2_API SendEmailRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "SendEmail"; } AWS_SESV2_API Aws::String SerializePayload() const override; /** *

The email address to use as the "From" address for the email. The address * that you specify has to be verified.

*/ inline const Aws::String& GetFromEmailAddress() const{ return m_fromEmailAddress; } /** *

The email address to use as the "From" address for the email. The address * that you specify has to be verified.

*/ inline bool FromEmailAddressHasBeenSet() const { return m_fromEmailAddressHasBeenSet; } /** *

The email address to use as the "From" address for the email. The address * that you specify has to be verified.

*/ inline void SetFromEmailAddress(const Aws::String& value) { m_fromEmailAddressHasBeenSet = true; m_fromEmailAddress = value; } /** *

The email address to use as the "From" address for the email. The address * that you specify has to be verified.

*/ inline void SetFromEmailAddress(Aws::String&& value) { m_fromEmailAddressHasBeenSet = true; m_fromEmailAddress = std::move(value); } /** *

The email address to use as the "From" address for the email. The address * that you specify has to be verified.

*/ inline void SetFromEmailAddress(const char* value) { m_fromEmailAddressHasBeenSet = true; m_fromEmailAddress.assign(value); } /** *

The email address to use as the "From" address for the email. The address * that you specify has to be verified.

*/ inline SendEmailRequest& WithFromEmailAddress(const Aws::String& value) { SetFromEmailAddress(value); return *this;} /** *

The email address to use as the "From" address for the email. The address * that you specify has to be verified.

*/ inline SendEmailRequest& WithFromEmailAddress(Aws::String&& value) { SetFromEmailAddress(std::move(value)); return *this;} /** *

The email address to use as the "From" address for the email. The address * that you specify has to be verified.

*/ inline SendEmailRequest& WithFromEmailAddress(const char* value) { SetFromEmailAddress(value); return *this;} /** *

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.

*/ inline const Aws::String& GetFromEmailAddressIdentityArn() const{ return m_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.

*/ inline bool FromEmailAddressIdentityArnHasBeenSet() const { return m_fromEmailAddressIdentityArnHasBeenSet; } /** *

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.

*/ inline void SetFromEmailAddressIdentityArn(const Aws::String& value) { m_fromEmailAddressIdentityArnHasBeenSet = true; m_fromEmailAddressIdentityArn = value; } /** *

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.

*/ inline void SetFromEmailAddressIdentityArn(Aws::String&& value) { m_fromEmailAddressIdentityArnHasBeenSet = true; m_fromEmailAddressIdentityArn = std::move(value); } /** *

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.

*/ inline void SetFromEmailAddressIdentityArn(const char* value) { m_fromEmailAddressIdentityArnHasBeenSet = true; m_fromEmailAddressIdentityArn.assign(value); } /** *

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.

*/ inline SendEmailRequest& WithFromEmailAddressIdentityArn(const Aws::String& value) { SetFromEmailAddressIdentityArn(value); return *this;} /** *

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.

*/ inline SendEmailRequest& WithFromEmailAddressIdentityArn(Aws::String&& value) { SetFromEmailAddressIdentityArn(std::move(value)); return *this;} /** *

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.

*/ inline SendEmailRequest& WithFromEmailAddressIdentityArn(const char* value) { SetFromEmailAddressIdentityArn(value); return *this;} /** *

An object that contains the recipients of the email message.

*/ inline const Destination& GetDestination() const{ return m_destination; } /** *

An object that contains the recipients of the email message.

*/ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** *

An object that contains the recipients of the email message.

*/ inline void SetDestination(const Destination& value) { m_destinationHasBeenSet = true; m_destination = value; } /** *

An object that contains the recipients of the email message.

*/ inline void SetDestination(Destination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** *

An object that contains the recipients of the email message.

*/ inline SendEmailRequest& WithDestination(const Destination& value) { SetDestination(value); return *this;} /** *

An object that contains the recipients of the email message.

*/ inline SendEmailRequest& WithDestination(Destination&& value) { SetDestination(std::move(value)); return *this;} /** *

The "Reply-to" email addresses for the message. When the recipient replies to * the message, each Reply-to address receives the reply.

*/ inline const Aws::Vector& GetReplyToAddresses() const{ return m_replyToAddresses; } /** *

The "Reply-to" email addresses for the message. When the recipient replies to * the message, each Reply-to address receives the reply.

*/ inline bool ReplyToAddressesHasBeenSet() const { return m_replyToAddressesHasBeenSet; } /** *

The "Reply-to" email addresses for the message. When the recipient replies to * the message, each Reply-to address receives the reply.

*/ inline void SetReplyToAddresses(const Aws::Vector& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses = value; } /** *

The "Reply-to" email addresses for the message. When the recipient replies to * the message, each Reply-to address receives the reply.

*/ inline void SetReplyToAddresses(Aws::Vector&& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses = std::move(value); } /** *

The "Reply-to" email addresses for the message. When the recipient replies to * the message, each Reply-to address receives the reply.

*/ inline SendEmailRequest& WithReplyToAddresses(const Aws::Vector& value) { SetReplyToAddresses(value); return *this;} /** *

The "Reply-to" email addresses for the message. When the recipient replies to * the message, each Reply-to address receives the reply.

*/ inline SendEmailRequest& WithReplyToAddresses(Aws::Vector&& value) { SetReplyToAddresses(std::move(value)); return *this;} /** *

The "Reply-to" email addresses for the message. When the recipient replies to * the message, each Reply-to address receives the reply.

*/ inline SendEmailRequest& AddReplyToAddresses(const Aws::String& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses.push_back(value); return *this; } /** *

The "Reply-to" email addresses for the message. When the recipient replies to * the message, each Reply-to address receives the reply.

*/ inline SendEmailRequest& AddReplyToAddresses(Aws::String&& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses.push_back(std::move(value)); return *this; } /** *

The "Reply-to" email addresses for the message. When the recipient replies to * the message, each Reply-to address receives the reply.

*/ inline SendEmailRequest& AddReplyToAddresses(const char* value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses.push_back(value); return *this; } /** *

The address that you want bounce and complaint notifications to be sent * to.

*/ inline const Aws::String& GetFeedbackForwardingEmailAddress() const{ return m_feedbackForwardingEmailAddress; } /** *

The address that you want bounce and complaint notifications to be sent * to.

*/ inline bool FeedbackForwardingEmailAddressHasBeenSet() const { return m_feedbackForwardingEmailAddressHasBeenSet; } /** *

The address that you want bounce and complaint notifications to be sent * to.

*/ inline void SetFeedbackForwardingEmailAddress(const Aws::String& value) { m_feedbackForwardingEmailAddressHasBeenSet = true; m_feedbackForwardingEmailAddress = value; } /** *

The address that you want bounce and complaint notifications to be sent * to.

*/ inline void SetFeedbackForwardingEmailAddress(Aws::String&& value) { m_feedbackForwardingEmailAddressHasBeenSet = true; m_feedbackForwardingEmailAddress = std::move(value); } /** *

The address that you want bounce and complaint notifications to be sent * to.

*/ inline void SetFeedbackForwardingEmailAddress(const char* value) { m_feedbackForwardingEmailAddressHasBeenSet = true; m_feedbackForwardingEmailAddress.assign(value); } /** *

The address that you want bounce and complaint notifications to be sent * to.

*/ inline SendEmailRequest& WithFeedbackForwardingEmailAddress(const Aws::String& value) { SetFeedbackForwardingEmailAddress(value); return *this;} /** *

The address that you want bounce and complaint notifications to be sent * to.

*/ inline SendEmailRequest& WithFeedbackForwardingEmailAddress(Aws::String&& value) { SetFeedbackForwardingEmailAddress(std::move(value)); return *this;} /** *

The address that you want bounce and complaint notifications to be sent * to.

*/ inline SendEmailRequest& WithFeedbackForwardingEmailAddress(const char* value) { SetFeedbackForwardingEmailAddress(value); return *this;} /** *

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.

*/ inline const Aws::String& GetFeedbackForwardingEmailAddressIdentityArn() const{ return m_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.

*/ inline bool FeedbackForwardingEmailAddressIdentityArnHasBeenSet() const { return m_feedbackForwardingEmailAddressIdentityArnHasBeenSet; } /** *

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.

*/ inline void SetFeedbackForwardingEmailAddressIdentityArn(const Aws::String& value) { m_feedbackForwardingEmailAddressIdentityArnHasBeenSet = true; m_feedbackForwardingEmailAddressIdentityArn = value; } /** *

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.

*/ inline void SetFeedbackForwardingEmailAddressIdentityArn(Aws::String&& value) { m_feedbackForwardingEmailAddressIdentityArnHasBeenSet = true; m_feedbackForwardingEmailAddressIdentityArn = std::move(value); } /** *

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.

*/ inline void SetFeedbackForwardingEmailAddressIdentityArn(const char* value) { m_feedbackForwardingEmailAddressIdentityArnHasBeenSet = true; m_feedbackForwardingEmailAddressIdentityArn.assign(value); } /** *

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.

*/ inline SendEmailRequest& WithFeedbackForwardingEmailAddressIdentityArn(const Aws::String& value) { SetFeedbackForwardingEmailAddressIdentityArn(value); return *this;} /** *

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.

*/ inline SendEmailRequest& WithFeedbackForwardingEmailAddressIdentityArn(Aws::String&& value) { SetFeedbackForwardingEmailAddressIdentityArn(std::move(value)); return *this;} /** *

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.

*/ inline SendEmailRequest& WithFeedbackForwardingEmailAddressIdentityArn(const char* value) { SetFeedbackForwardingEmailAddressIdentityArn(value); return *this;} /** *

An object that contains the body of the message. You can send either a Simple * message Raw message or a template Message.

*/ inline const EmailContent& GetContent() const{ return m_content; } /** *

An object that contains the body of the message. You can send either a Simple * message Raw message or a template Message.

*/ inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } /** *

An object that contains the body of the message. You can send either a Simple * message Raw message or a template Message.

*/ inline void SetContent(const EmailContent& value) { m_contentHasBeenSet = true; m_content = value; } /** *

An object that contains the body of the message. You can send either a Simple * message Raw message or a template Message.

*/ inline void SetContent(EmailContent&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } /** *

An object that contains the body of the message. You can send either a Simple * message Raw message or a template Message.

*/ inline SendEmailRequest& WithContent(const EmailContent& value) { SetContent(value); return *this;} /** *

An object that contains the body of the message. You can send either a Simple * message Raw message or a template Message.

*/ inline SendEmailRequest& WithContent(EmailContent&& value) { SetContent(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::Vector& GetEmailTags() const{ return m_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.

*/ inline bool EmailTagsHasBeenSet() const { return m_emailTagsHasBeenSet; } /** *

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.

*/ inline void SetEmailTags(const Aws::Vector& value) { m_emailTagsHasBeenSet = true; m_emailTags = value; } /** *

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.

*/ inline void SetEmailTags(Aws::Vector&& value) { m_emailTagsHasBeenSet = true; m_emailTags = std::move(value); } /** *

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.

*/ inline SendEmailRequest& WithEmailTags(const Aws::Vector& value) { SetEmailTags(value); return *this;} /** *

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.

*/ inline SendEmailRequest& WithEmailTags(Aws::Vector&& value) { SetEmailTags(std::move(value)); return *this;} /** *

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.

*/ inline SendEmailRequest& AddEmailTags(const MessageTag& value) { m_emailTagsHasBeenSet = true; m_emailTags.push_back(value); return *this; } /** *

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.

*/ inline SendEmailRequest& AddEmailTags(MessageTag&& value) { m_emailTagsHasBeenSet = true; m_emailTags.push_back(std::move(value)); return *this; } /** *

The name of the configuration set to use when sending the email.

*/ inline const Aws::String& GetConfigurationSetName() const{ return m_configurationSetName; } /** *

The name of the configuration set to use when sending the email.

*/ inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; } /** *

The name of the configuration set to use when sending the email.

*/ inline void SetConfigurationSetName(const Aws::String& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = value; } /** *

The name of the configuration set to use when sending the email.

*/ inline void SetConfigurationSetName(Aws::String&& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = std::move(value); } /** *

The name of the configuration set to use when sending the email.

*/ inline void SetConfigurationSetName(const char* value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName.assign(value); } /** *

The name of the configuration set to use when sending the email.

*/ inline SendEmailRequest& WithConfigurationSetName(const Aws::String& value) { SetConfigurationSetName(value); return *this;} /** *

The name of the configuration set to use when sending the email.

*/ inline SendEmailRequest& WithConfigurationSetName(Aws::String&& value) { SetConfigurationSetName(std::move(value)); return *this;} /** *

The name of the configuration set to use when sending the email.

*/ inline SendEmailRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;} /** *

An object used to specify a list or topic to which an email belongs, which * will be used when a contact chooses to unsubscribe.

*/ inline const ListManagementOptions& GetListManagementOptions() const{ return m_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.

*/ inline bool ListManagementOptionsHasBeenSet() const { return m_listManagementOptionsHasBeenSet; } /** *

An object used to specify a list or topic to which an email belongs, which * will be used when a contact chooses to unsubscribe.

*/ inline void SetListManagementOptions(const ListManagementOptions& value) { m_listManagementOptionsHasBeenSet = true; m_listManagementOptions = value; } /** *

An object used to specify a list or topic to which an email belongs, which * will be used when a contact chooses to unsubscribe.

*/ inline void SetListManagementOptions(ListManagementOptions&& value) { m_listManagementOptionsHasBeenSet = true; m_listManagementOptions = std::move(value); } /** *

An object used to specify a list or topic to which an email belongs, which * will be used when a contact chooses to unsubscribe.

*/ inline SendEmailRequest& WithListManagementOptions(const ListManagementOptions& value) { SetListManagementOptions(value); return *this;} /** *

An object used to specify a list or topic to which an email belongs, which * will be used when a contact chooses to unsubscribe.

*/ inline SendEmailRequest& WithListManagementOptions(ListManagementOptions&& value) { SetListManagementOptions(std::move(value)); return *this;} private: Aws::String m_fromEmailAddress; bool m_fromEmailAddressHasBeenSet = false; Aws::String m_fromEmailAddressIdentityArn; bool m_fromEmailAddressIdentityArnHasBeenSet = false; Destination m_destination; bool m_destinationHasBeenSet = false; Aws::Vector m_replyToAddresses; bool m_replyToAddressesHasBeenSet = false; Aws::String m_feedbackForwardingEmailAddress; bool m_feedbackForwardingEmailAddressHasBeenSet = false; Aws::String m_feedbackForwardingEmailAddressIdentityArn; bool m_feedbackForwardingEmailAddressIdentityArnHasBeenSet = false; EmailContent m_content; bool m_contentHasBeenSet = false; Aws::Vector m_emailTags; bool m_emailTagsHasBeenSet = false; Aws::String m_configurationSetName; bool m_configurationSetNameHasBeenSet = false; ListManagementOptions m_listManagementOptions; bool m_listManagementOptionsHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws