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

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

See Also:

AWS * API Reference

*/ class SendRawEmailRequest : public SESRequest { public: AWS_SES_API SendRawEmailRequest(); // 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 "SendRawEmail"; } AWS_SES_API Aws::String SerializePayload() const override; protected: AWS_SES_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The identity's email address. If you do not provide a value for this * parameter, you must specify a "From" address in the raw text of the message. * (You can also specify both.)

Amazon SES does not support the * SMTPUTF8 extension, as described inRFC6531. 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?=.

If you specify * the Source parameter and have feedback forwarding enabled, then * bounces and complaints will be sent to this email address. This takes precedence * over any Return-Path header that you might include in the raw text of the * message.

*/ inline const Aws::String& GetSource() const{ return m_source; } /** *

The identity's email address. If you do not provide a value for this * parameter, you must specify a "From" address in the raw text of the message. * (You can also specify both.)

Amazon SES does not support the * SMTPUTF8 extension, as described inRFC6531. 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?=.

If you specify * the Source parameter and have feedback forwarding enabled, then * bounces and complaints will be sent to this email address. This takes precedence * over any Return-Path header that you might include in the raw text of the * message.

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

The identity's email address. If you do not provide a value for this * parameter, you must specify a "From" address in the raw text of the message. * (You can also specify both.)

Amazon SES does not support the * SMTPUTF8 extension, as described inRFC6531. 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?=.

If you specify * the Source parameter and have feedback forwarding enabled, then * bounces and complaints will be sent to this email address. This takes precedence * over any Return-Path header that you might include in the raw text of the * message.

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

The identity's email address. If you do not provide a value for this * parameter, you must specify a "From" address in the raw text of the message. * (You can also specify both.)

Amazon SES does not support the * SMTPUTF8 extension, as described inRFC6531. 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?=.

If you specify * the Source parameter and have feedback forwarding enabled, then * bounces and complaints will be sent to this email address. This takes precedence * over any Return-Path header that you might include in the raw text of the * message.

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

The identity's email address. If you do not provide a value for this * parameter, you must specify a "From" address in the raw text of the message. * (You can also specify both.)

Amazon SES does not support the * SMTPUTF8 extension, as described inRFC6531. 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?=.

If you specify * the Source parameter and have feedback forwarding enabled, then * bounces and complaints will be sent to this email address. This takes precedence * over any Return-Path header that you might include in the raw text of the * message.

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

The identity's email address. If you do not provide a value for this * parameter, you must specify a "From" address in the raw text of the message. * (You can also specify both.)

Amazon SES does not support the * SMTPUTF8 extension, as described inRFC6531. 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?=.

If you specify * the Source parameter and have feedback forwarding enabled, then * bounces and complaints will be sent to this email address. This takes precedence * over any Return-Path header that you might include in the raw text of the * message.

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

The identity's email address. If you do not provide a value for this * parameter, you must specify a "From" address in the raw text of the message. * (You can also specify both.)

Amazon SES does not support the * SMTPUTF8 extension, as described inRFC6531. 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?=.

If you specify * the Source parameter and have feedback forwarding enabled, then * bounces and complaints will be sent to this email address. This takes precedence * over any Return-Path header that you might include in the raw text of the * message.

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

The identity's email address. If you do not provide a value for this * parameter, you must specify a "From" address in the raw text of the message. * (You can also specify both.)

Amazon SES does not support the * SMTPUTF8 extension, as described inRFC6531. 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?=.

If you specify * the Source parameter and have feedback forwarding enabled, then * bounces and complaints will be sent to this email address. This takes precedence * over any Return-Path header that you might include in the raw text of the * message.

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

A list of destinations for the message, consisting of To:, CC:, and BCC: * addresses.

*/ inline const Aws::Vector& GetDestinations() const{ return m_destinations; } /** *

A list of destinations for the message, consisting of To:, CC:, and BCC: * addresses.

*/ inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } /** *

A list of destinations for the message, consisting of To:, CC:, and BCC: * addresses.

*/ inline void SetDestinations(const Aws::Vector& value) { m_destinationsHasBeenSet = true; m_destinations = value; } /** *

A list of destinations for the message, consisting of To:, CC:, and BCC: * addresses.

*/ inline void SetDestinations(Aws::Vector&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } /** *

A list of destinations for the message, consisting of To:, CC:, and BCC: * addresses.

*/ inline SendRawEmailRequest& WithDestinations(const Aws::Vector& value) { SetDestinations(value); return *this;} /** *

A list of destinations for the message, consisting of To:, CC:, and BCC: * addresses.

*/ inline SendRawEmailRequest& WithDestinations(Aws::Vector&& value) { SetDestinations(std::move(value)); return *this;} /** *

A list of destinations for the message, consisting of To:, CC:, and BCC: * addresses.

*/ inline SendRawEmailRequest& AddDestinations(const Aws::String& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } /** *

A list of destinations for the message, consisting of To:, CC:, and BCC: * addresses.

*/ inline SendRawEmailRequest& AddDestinations(Aws::String&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } /** *

A list of destinations for the message, consisting of To:, CC:, and BCC: * addresses.

*/ inline SendRawEmailRequest& AddDestinations(const char* value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } /** *

The raw email message itself. The message has to meet the following * criteria:

  • The message has to contain a header and a body, * separated by a blank line.

  • All of the required header fields * must be present in the message.

  • Each part of a multipart MIME * message must be formatted properly.

  • Attachments must be of a * content type that Amazon SES supports. For a list on unsupported content types, * see Unsupported * Attachment Types in the Amazon SES Developer Guide.

  • *

    The entire message must be base64-encoded.

  • If any of the * MIME parts in your message contain content that is outside of the 7-bit ASCII * character range, we highly recommend that you encode that content. For more * information, see Sending * Raw Email in the Amazon SES Developer Guide.

  • Per RFC 5321, the * maximum length of each line of text, including the <CRLF>, must not exceed * 1,000 characters.

*/ inline const RawMessage& GetRawMessage() const{ return m_rawMessage; } /** *

The raw email message itself. The message has to meet the following * criteria:

  • The message has to contain a header and a body, * separated by a blank line.

  • All of the required header fields * must be present in the message.

  • Each part of a multipart MIME * message must be formatted properly.

  • Attachments must be of a * content type that Amazon SES supports. For a list on unsupported content types, * see Unsupported * Attachment Types in the Amazon SES Developer Guide.

  • *

    The entire message must be base64-encoded.

  • If any of the * MIME parts in your message contain content that is outside of the 7-bit ASCII * character range, we highly recommend that you encode that content. For more * information, see Sending * Raw Email in the Amazon SES Developer Guide.

  • Per RFC 5321, the * maximum length of each line of text, including the <CRLF>, must not exceed * 1,000 characters.

*/ inline bool RawMessageHasBeenSet() const { return m_rawMessageHasBeenSet; } /** *

The raw email message itself. The message has to meet the following * criteria:

  • The message has to contain a header and a body, * separated by a blank line.

  • All of the required header fields * must be present in the message.

  • Each part of a multipart MIME * message must be formatted properly.

  • Attachments must be of a * content type that Amazon SES supports. For a list on unsupported content types, * see Unsupported * Attachment Types in the Amazon SES Developer Guide.

  • *

    The entire message must be base64-encoded.

  • If any of the * MIME parts in your message contain content that is outside of the 7-bit ASCII * character range, we highly recommend that you encode that content. For more * information, see Sending * Raw Email in the Amazon SES Developer Guide.

  • Per RFC 5321, the * maximum length of each line of text, including the <CRLF>, must not exceed * 1,000 characters.

*/ inline void SetRawMessage(const RawMessage& value) { m_rawMessageHasBeenSet = true; m_rawMessage = value; } /** *

The raw email message itself. The message has to meet the following * criteria:

  • The message has to contain a header and a body, * separated by a blank line.

  • All of the required header fields * must be present in the message.

  • Each part of a multipart MIME * message must be formatted properly.

  • Attachments must be of a * content type that Amazon SES supports. For a list on unsupported content types, * see Unsupported * Attachment Types in the Amazon SES Developer Guide.

  • *

    The entire message must be base64-encoded.

  • If any of the * MIME parts in your message contain content that is outside of the 7-bit ASCII * character range, we highly recommend that you encode that content. For more * information, see Sending * Raw Email in the Amazon SES Developer Guide.

  • Per RFC 5321, the * maximum length of each line of text, including the <CRLF>, must not exceed * 1,000 characters.

*/ inline void SetRawMessage(RawMessage&& value) { m_rawMessageHasBeenSet = true; m_rawMessage = std::move(value); } /** *

The raw email message itself. The message has to meet the following * criteria:

  • The message has to contain a header and a body, * separated by a blank line.

  • All of the required header fields * must be present in the message.

  • Each part of a multipart MIME * message must be formatted properly.

  • Attachments must be of a * content type that Amazon SES supports. For a list on unsupported content types, * see Unsupported * Attachment Types in the Amazon SES Developer Guide.

  • *

    The entire message must be base64-encoded.

  • If any of the * MIME parts in your message contain content that is outside of the 7-bit ASCII * character range, we highly recommend that you encode that content. For more * information, see Sending * Raw Email in the Amazon SES Developer Guide.

  • Per RFC 5321, the * maximum length of each line of text, including the <CRLF>, must not exceed * 1,000 characters.

*/ inline SendRawEmailRequest& WithRawMessage(const RawMessage& value) { SetRawMessage(value); return *this;} /** *

The raw email message itself. The message has to meet the following * criteria:

  • The message has to contain a header and a body, * separated by a blank line.

  • All of the required header fields * must be present in the message.

  • Each part of a multipart MIME * message must be formatted properly.

  • Attachments must be of a * content type that Amazon SES supports. For a list on unsupported content types, * see Unsupported * Attachment Types in the Amazon SES Developer Guide.

  • *

    The entire message must be base64-encoded.

  • If any of the * MIME parts in your message contain content that is outside of the 7-bit ASCII * character range, we highly recommend that you encode that content. For more * information, see Sending * Raw Email in the Amazon SES Developer Guide.

  • Per RFC 5321, the * maximum length of each line of text, including the <CRLF>, must not exceed * 1,000 characters.

*/ inline SendRawEmailRequest& WithRawMessage(RawMessage&& value) { SetRawMessage(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 specify a particular "From" address in the header of the raw email.

*

Instead of using this parameter, you can use the X-header * X-SES-FROM-ARN in the raw message of the email. If you use both the * FromArn parameter and the corresponding X-header, Amazon SES uses * the value of the FromArn parameter.

For information * about when to use this parameter, see the description of * SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline const Aws::String& GetFromArn() const{ return m_fromArn; } /** *

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 specify a particular "From" address in the header of the raw email.

*

Instead of using this parameter, you can use the X-header * X-SES-FROM-ARN in the raw message of the email. If you use both the * FromArn parameter and the corresponding X-header, Amazon SES uses * the value of the FromArn parameter.

For information * about when to use this parameter, see the description of * SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline bool FromArnHasBeenSet() const { return m_fromArnHasBeenSet; } /** *

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 specify a particular "From" address in the header of the raw email.

*

Instead of using this parameter, you can use the X-header * X-SES-FROM-ARN in the raw message of the email. If you use both the * FromArn parameter and the corresponding X-header, Amazon SES uses * the value of the FromArn parameter.

For information * about when to use this parameter, see the description of * SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline void SetFromArn(const Aws::String& value) { m_fromArnHasBeenSet = true; m_fromArn = 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 specify a particular "From" address in the header of the raw email.

*

Instead of using this parameter, you can use the X-header * X-SES-FROM-ARN in the raw message of the email. If you use both the * FromArn parameter and the corresponding X-header, Amazon SES uses * the value of the FromArn parameter.

For information * about when to use this parameter, see the description of * SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline void SetFromArn(Aws::String&& value) { m_fromArnHasBeenSet = true; m_fromArn = 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 specify a particular "From" address in the header of the raw email.

*

Instead of using this parameter, you can use the X-header * X-SES-FROM-ARN in the raw message of the email. If you use both the * FromArn parameter and the corresponding X-header, Amazon SES uses * the value of the FromArn parameter.

For information * about when to use this parameter, see the description of * SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline void SetFromArn(const char* value) { m_fromArnHasBeenSet = true; m_fromArn.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 specify a particular "From" address in the header of the raw email.

*

Instead of using this parameter, you can use the X-header * X-SES-FROM-ARN in the raw message of the email. If you use both the * FromArn parameter and the corresponding X-header, Amazon SES uses * the value of the FromArn parameter.

For information * about when to use this parameter, see the description of * SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline SendRawEmailRequest& WithFromArn(const Aws::String& value) { SetFromArn(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 specify a particular "From" address in the header of the raw email.

*

Instead of using this parameter, you can use the X-header * X-SES-FROM-ARN in the raw message of the email. If you use both the * FromArn parameter and the corresponding X-header, Amazon SES uses * the value of the FromArn parameter.

For information * about when to use this parameter, see the description of * SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline SendRawEmailRequest& WithFromArn(Aws::String&& value) { SetFromArn(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 specify a particular "From" address in the header of the raw email.

*

Instead of using this parameter, you can use the X-header * X-SES-FROM-ARN in the raw message of the email. If you use both the * FromArn parameter and the corresponding X-header, Amazon SES uses * the value of the FromArn parameter.

For information * about when to use this parameter, see the description of * SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline SendRawEmailRequest& WithFromArn(const char* value) { SetFromArn(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.

Instead of * using this parameter, you can use the X-header X-SES-SOURCE-ARN in * the raw message of the email. If you use both the SourceArn * parameter and the corresponding X-header, Amazon SES uses the value of the * SourceArn parameter.

For information about when to * use this parameter, see the description of SendRawEmail in this * guide, or 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.

Instead of * using this parameter, you can use the X-header X-SES-SOURCE-ARN in * the raw message of the email. If you use both the SourceArn * parameter and the corresponding X-header, Amazon SES uses the value of the * SourceArn parameter.

For information about when to * use this parameter, see the description of SendRawEmail in this * guide, or 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.

Instead of * using this parameter, you can use the X-header X-SES-SOURCE-ARN in * the raw message of the email. If you use both the SourceArn * parameter and the corresponding X-header, Amazon SES uses the value of the * SourceArn parameter.

For information about when to * use this parameter, see the description of SendRawEmail in this * guide, or 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.

Instead of * using this parameter, you can use the X-header X-SES-SOURCE-ARN in * the raw message of the email. If you use both the SourceArn * parameter and the corresponding X-header, Amazon SES uses the value of the * SourceArn parameter.

For information about when to * use this parameter, see the description of SendRawEmail in this * guide, or 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.

Instead of * using this parameter, you can use the X-header X-SES-SOURCE-ARN in * the raw message of the email. If you use both the SourceArn * parameter and the corresponding X-header, Amazon SES uses the value of the * SourceArn parameter.

For information about when to * use this parameter, see the description of SendRawEmail in this * guide, or 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.

Instead of * using this parameter, you can use the X-header X-SES-SOURCE-ARN in * the raw message of the email. If you use both the SourceArn * parameter and the corresponding X-header, Amazon SES uses the value of the * SourceArn parameter.

For information about when to * use this parameter, see the description of SendRawEmail in this * guide, or see the Amazon * SES Developer Guide.

*/ inline SendRawEmailRequest& 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.

Instead of * using this parameter, you can use the X-header X-SES-SOURCE-ARN in * the raw message of the email. If you use both the SourceArn * parameter and the corresponding X-header, Amazon SES uses the value of the * SourceArn parameter.

For information about when to * use this parameter, see the description of SendRawEmail in this * guide, or see the Amazon * SES Developer Guide.

*/ inline SendRawEmailRequest& 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.

Instead of * using this parameter, you can use the X-header X-SES-SOURCE-ARN in * the raw message of the email. If you use both the SourceArn * parameter and the corresponding X-header, Amazon SES uses the value of the * SourceArn parameter.

For information about when to * use this parameter, see the description of SendRawEmail in this * guide, or see the Amazon * SES Developer Guide.

*/ inline SendRawEmailRequest& 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.

Instead * of using this parameter, you can use the X-header * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use * both the ReturnPathArn parameter and the corresponding X-header, * Amazon SES uses the value of the ReturnPathArn parameter.

*

For information about when to use this parameter, see the description * of SendRawEmail in this guide, or 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.

Instead * of using this parameter, you can use the X-header * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use * both the ReturnPathArn parameter and the corresponding X-header, * Amazon SES uses the value of the ReturnPathArn parameter.

*

For information about when to use this parameter, see the description * of SendRawEmail in this guide, or 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.

Instead * of using this parameter, you can use the X-header * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use * both the ReturnPathArn parameter and the corresponding X-header, * Amazon SES uses the value of the ReturnPathArn parameter.

*

For information about when to use this parameter, see the description * of SendRawEmail in this guide, or 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.

Instead * of using this parameter, you can use the X-header * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use * both the ReturnPathArn parameter and the corresponding X-header, * Amazon SES uses the value of the ReturnPathArn parameter.

*

For information about when to use this parameter, see the description * of SendRawEmail in this guide, or 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.

Instead * of using this parameter, you can use the X-header * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use * both the ReturnPathArn parameter and the corresponding X-header, * Amazon SES uses the value of the ReturnPathArn parameter.

*

For information about when to use this parameter, see the description * of SendRawEmail in this guide, or 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.

Instead * of using this parameter, you can use the X-header * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use * both the ReturnPathArn parameter and the corresponding X-header, * Amazon SES uses the value of the ReturnPathArn parameter.

*

For information about when to use this parameter, see the description * of SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline SendRawEmailRequest& 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.

Instead * of using this parameter, you can use the X-header * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use * both the ReturnPathArn parameter and the corresponding X-header, * Amazon SES uses the value of the ReturnPathArn parameter.

*

For information about when to use this parameter, see the description * of SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline SendRawEmailRequest& 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.

Instead * of using this parameter, you can use the X-header * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use * both the ReturnPathArn parameter and the corresponding X-header, * Amazon SES uses the value of the ReturnPathArn parameter.

*

For information about when to use this parameter, see the description * of SendRawEmail in this guide, or see the Amazon * SES Developer Guide.

*/ inline SendRawEmailRequest& 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 SendRawEmail. 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 SendRawEmail. 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 SendRawEmail. 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 SendRawEmail. 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 SendRawEmail. Tags correspond to characteristics of * the email that you define, so that you can publish email sending events.

*/ inline SendRawEmailRequest& 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 SendRawEmail. Tags correspond to characteristics of * the email that you define, so that you can publish email sending events.

*/ inline SendRawEmailRequest& 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 SendRawEmail. Tags correspond to characteristics of * the email that you define, so that you can publish email sending events.

*/ inline SendRawEmailRequest& 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 SendRawEmail. Tags correspond to characteristics of * the email that you define, so that you can publish email sending events.

*/ inline SendRawEmailRequest& 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 * SendRawEmail.

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

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

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

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

*/ 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 * SendRawEmail.

*/ 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 * SendRawEmail.

*/ 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 * SendRawEmail.

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

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

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

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

*/ inline SendRawEmailRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;} private: Aws::String m_source; bool m_sourceHasBeenSet = false; Aws::Vector m_destinations; bool m_destinationsHasBeenSet = false; RawMessage m_rawMessage; bool m_rawMessageHasBeenSet = false; Aws::String m_fromArn; bool m_fromArnHasBeenSet = 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