/** * 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 SES { 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 SESRequest { public: AWS_SES_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_SES_API Aws::String SerializePayload() const override; protected: AWS_SES_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

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?=.

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

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

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?=.

*/ inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

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?=.

*/ inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

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?=.

*/ inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } /** *

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?=.

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

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?=.

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

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?=.

*/ inline SendEmailRequest& WithSource(const char* value) { SetSource(value); return *this;} /** *

The destination for this email, composed of To:, CC:, and BCC: fields.

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

The destination for this email, composed of To:, CC:, and BCC: fields.

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

The destination for this email, composed of To:, CC:, and BCC: fields.

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

The destination for this email, composed of To:, CC:, and BCC: fields.

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

The destination for this email, composed of To:, CC:, and BCC: fields.

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

The destination for this email, composed of To:, CC:, and BCC: fields.

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

The message to be sent.

*/ inline const Message& GetMessage() const{ return m_message; } /** *

The message to be sent.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

The message to be sent.

*/ inline void SetMessage(const Message& value) { m_messageHasBeenSet = true; m_message = value; } /** *

The message to be sent.

*/ inline void SetMessage(Message&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

The message to be sent.

*/ inline SendEmailRequest& WithMessage(const Message& value) { SetMessage(value); return *this;} /** *

The message to be sent.

*/ inline SendEmailRequest& WithMessage(Message&& value) { SetMessage(std::move(value)); return *this;} /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

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

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

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

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

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

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

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

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

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

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

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

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

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

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

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

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

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.

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

*/ inline bool ReturnPathHasBeenSet() const { return m_returnPathHasBeenSet; } /** *

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.

*/ inline void SetReturnPath(const Aws::String& value) { m_returnPathHasBeenSet = true; m_returnPath = value; } /** *

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.

*/ inline void SetReturnPath(Aws::String&& value) { m_returnPathHasBeenSet = true; m_returnPath = std::move(value); } /** *

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.

*/ inline void SetReturnPath(const char* value) { m_returnPathHasBeenSet = true; m_returnPath.assign(value); } /** *

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.

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

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.

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

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.

*/ inline SendEmailRequest& WithReturnPath(const char* value) { SetReturnPath(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 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.

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

*/ inline bool SourceArnHasBeenSet() const { return m_sourceArnHasBeenSet; } /** *

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.

*/ inline void SetSourceArn(const Aws::String& value) { m_sourceArnHasBeenSet = true; m_sourceArn = 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 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.

*/ inline void SetSourceArn(Aws::String&& value) { m_sourceArnHasBeenSet = true; m_sourceArn = 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 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.

*/ inline void SetSourceArn(const char* value) { m_sourceArnHasBeenSet = true; m_sourceArn.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 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.

*/ inline SendEmailRequest& WithSourceArn(const Aws::String& value) { SetSourceArn(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 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.

*/ inline SendEmailRequest& WithSourceArn(Aws::String&& value) { SetSourceArn(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 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.

*/ inline SendEmailRequest& WithSourceArn(const char* value) { SetSourceArn(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 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.

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

*/ inline bool ReturnPathArnHasBeenSet() const { return m_returnPathArnHasBeenSet; } /** *

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.

*/ inline void SetReturnPathArn(const Aws::String& value) { m_returnPathArnHasBeenSet = true; m_returnPathArn = 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 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.

*/ inline void SetReturnPathArn(Aws::String&& value) { m_returnPathArnHasBeenSet = true; m_returnPathArn = 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 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.

*/ inline void SetReturnPathArn(const char* value) { m_returnPathArnHasBeenSet = true; m_returnPathArn.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 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.

*/ inline SendEmailRequest& WithReturnPathArn(const Aws::String& value) { SetReturnPathArn(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 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.

*/ inline SendEmailRequest& WithReturnPathArn(Aws::String&& value) { SetReturnPathArn(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 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.

*/ inline SendEmailRequest& WithReturnPathArn(const char* value) { SetReturnPathArn(value); return *this;} /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendEmail. Tags correspond to characteristics of the * email that you define, so that you can publish email sending events.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendEmail. Tags correspond to characteristics of the * email that you define, so that you can publish email sending events.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendEmail. Tags correspond to characteristics of the * email that you define, so that you can publish email sending events.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendEmail. Tags correspond to characteristics of the * email that you define, so that you can publish email sending events.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendEmail. Tags correspond to characteristics of the * email that you define, so that you can publish email sending events.

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

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendEmail. Tags correspond to characteristics of the * email that you define, so that you can publish email sending events.

*/ inline SendEmailRequest& WithTags(Aws::Vector&& value) { SetTags(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 SendEmail. Tags correspond to characteristics of the * email that you define, so that you can publish email sending events.

*/ inline SendEmailRequest& AddTags(const MessageTag& value) { m_tagsHasBeenSet = true; m_tags.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 SendEmail. Tags correspond to characteristics of the * email that you define, so that you can publish email sending events.

*/ inline SendEmailRequest& AddTags(MessageTag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The name of the configuration set to use when you send an email using * SendEmail.

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

The name of the configuration set to use when you send an email using * SendEmail.

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

The name of the configuration set to use when you send an email using * SendEmail.

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

The name of the configuration set to use when you send an email using * SendEmail.

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

The name of the configuration set to use when you send an email using * SendEmail.

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

The name of the configuration set to use when you send an email using * SendEmail.

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

The name of the configuration set to use when you send an email using * SendEmail.

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

The name of the configuration set to use when you send an email using * SendEmail.

*/ inline SendEmailRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;} private: Aws::String m_source; bool m_sourceHasBeenSet = false; Destination m_destination; bool m_destinationHasBeenSet = false; Message m_message; bool m_messageHasBeenSet = false; Aws::Vector m_replyToAddresses; bool m_replyToAddressesHasBeenSet = false; Aws::String m_returnPath; bool m_returnPathHasBeenSet = false; Aws::String m_sourceArn; bool m_sourceArnHasBeenSet = false; Aws::String m_returnPathArn; bool m_returnPathArnHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_configurationSetName; bool m_configurationSetNameHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws