/** * 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 namespace Aws { namespace PinpointEmail { namespace Model { /** *

A request to send an email message.

See Also:

AWS * API Reference

*/ class SendEmailRequest : public PinpointEmailRequest { public: AWS_PINPOINTEMAIL_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_PINPOINTEMAIL_API Aws::String SerializePayload() const override; /** *

The email address that you want 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 that you want 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 that you want 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 that you want 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 that you want 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 that you want 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 that you want 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 that you want 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;} /** *

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 Amazon Pinpoint should send bounce and complaint * notifications to.

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

The address that Amazon Pinpoint should send bounce and complaint * notifications to.

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

The address that Amazon Pinpoint should send bounce and complaint * notifications to.

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

The address that Amazon Pinpoint should send bounce and complaint * notifications to.

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

The address that Amazon Pinpoint should send bounce and complaint * notifications to.

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

The address that Amazon Pinpoint should send bounce and complaint * notifications to.

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

The address that Amazon Pinpoint should send bounce and complaint * notifications to.

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

The address that Amazon Pinpoint should send bounce and complaint * notifications to.

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

An object that contains the body of the message. You can send either a Simple * message or a Raw 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 or a Raw message.

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

An object that contains the body of the message. You can send either a Simple * message or a Raw 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 or a Raw 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 or a Raw 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 or a Raw 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 that you want to use when sending the * email.

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

The name of the configuration set that you want to use when sending the * email.

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

The name of the configuration set that you want 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 that you want 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 that you want 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 that you want to use when sending the * email.

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

The name of the configuration set that you want to use when sending the * email.

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

The name of the configuration set that you want to use when sending the * email.

*/ inline SendEmailRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;} private: Aws::String m_fromEmailAddress; bool m_fromEmailAddressHasBeenSet = false; Destination m_destination; bool m_destinationHasBeenSet = false; Aws::Vector m_replyToAddresses; bool m_replyToAddressesHasBeenSet = false; Aws::String m_feedbackForwardingEmailAddress; bool m_feedbackForwardingEmailAddressHasBeenSet = false; EmailContent m_content; bool m_contentHasBeenSet = false; Aws::Vector m_emailTags; bool m_emailTagsHasBeenSet = false; Aws::String m_configurationSetName; bool m_configurationSetNameHasBeenSet = false; }; } // namespace Model } // namespace PinpointEmail } // namespace Aws