This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-email/include/aws/email/model/SendEmailRequest.h

876 lines
49 KiB
C
Raw Normal View History

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/email/SES_EXPORTS.h>
#include <aws/email/SESRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/email/model/Destination.h>
#include <aws/email/model/Message.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/email/model/MessageTag.h>
#include <utility>
namespace Aws
{
namespace SES
{
namespace Model
{
/**
* <p>Represents a request to send a single formatted email using Amazon SES. For
* more information, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html">Amazon
* SES Developer Guide</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendEmailRequest">AWS
* API Reference</a></p>
*/
class AWS_SES_API SendEmailRequest : public SESRequest
{
public:
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::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Amazon
* SES Developer Guide</a>.</p> <p>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 <code>SourceArn</code> parameter. For more information about
* sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p> <p>Amazon SES does not support the SMTPUTF8
* extension, as described in <a
* href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the
* <i>local part</i> of a source email address (the part of the email address that
* precedes the @ sign) may only contain <a
* href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII
* characters</a>. If the <i>domain part</i> of an address (the part after the @
* sign) contains non-ASCII characters, they must be encoded using Punycode, as
* described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The
* sender name (also known as the <i>friendly name</i>) may contain non-ASCII
* characters. These characters must be encoded using MIME encoded-word syntax, as
* described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME
* encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>.</p>
*/
inline const Aws::String& GetSource() const{ return m_source; }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Amazon
* SES Developer Guide</a>.</p> <p>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 <code>SourceArn</code> parameter. For more information about
* sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p> <p>Amazon SES does not support the SMTPUTF8
* extension, as described in <a
* href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the
* <i>local part</i> of a source email address (the part of the email address that
* precedes the @ sign) may only contain <a
* href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII
* characters</a>. If the <i>domain part</i> of an address (the part after the @
* sign) contains non-ASCII characters, they must be encoded using Punycode, as
* described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The
* sender name (also known as the <i>friendly name</i>) may contain non-ASCII
* characters. These characters must be encoded using MIME encoded-word syntax, as
* described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME
* encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>.</p>
*/
inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Amazon
* SES Developer Guide</a>.</p> <p>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 <code>SourceArn</code> parameter. For more information about
* sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p> <p>Amazon SES does not support the SMTPUTF8
* extension, as described in <a
* href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the
* <i>local part</i> of a source email address (the part of the email address that
* precedes the @ sign) may only contain <a
* href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII
* characters</a>. If the <i>domain part</i> of an address (the part after the @
* sign) contains non-ASCII characters, they must be encoded using Punycode, as
* described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The
* sender name (also known as the <i>friendly name</i>) may contain non-ASCII
* characters. These characters must be encoded using MIME encoded-word syntax, as
* described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME
* encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>.</p>
*/
inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Amazon
* SES Developer Guide</a>.</p> <p>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 <code>SourceArn</code> parameter. For more information about
* sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p> <p>Amazon SES does not support the SMTPUTF8
* extension, as described in <a
* href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the
* <i>local part</i> of a source email address (the part of the email address that
* precedes the @ sign) may only contain <a
* href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII
* characters</a>. If the <i>domain part</i> of an address (the part after the @
* sign) contains non-ASCII characters, they must be encoded using Punycode, as
* described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The
* sender name (also known as the <i>friendly name</i>) may contain non-ASCII
* characters. These characters must be encoded using MIME encoded-word syntax, as
* described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME
* encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>.</p>
*/
inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Amazon
* SES Developer Guide</a>.</p> <p>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 <code>SourceArn</code> parameter. For more information about
* sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p> <p>Amazon SES does not support the SMTPUTF8
* extension, as described in <a
* href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the
* <i>local part</i> of a source email address (the part of the email address that
* precedes the @ sign) may only contain <a
* href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII
* characters</a>. If the <i>domain part</i> of an address (the part after the @
* sign) contains non-ASCII characters, they must be encoded using Punycode, as
* described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The
* sender name (also known as the <i>friendly name</i>) may contain non-ASCII
* characters. These characters must be encoded using MIME encoded-word syntax, as
* described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME
* encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>.</p>
*/
inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Amazon
* SES Developer Guide</a>.</p> <p>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 <code>SourceArn</code> parameter. For more information about
* sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p> <p>Amazon SES does not support the SMTPUTF8
* extension, as described in <a
* href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the
* <i>local part</i> of a source email address (the part of the email address that
* precedes the @ sign) may only contain <a
* href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII
* characters</a>. If the <i>domain part</i> of an address (the part after the @
* sign) contains non-ASCII characters, they must be encoded using Punycode, as
* described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The
* sender name (also known as the <i>friendly name</i>) may contain non-ASCII
* characters. These characters must be encoded using MIME encoded-word syntax, as
* described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME
* encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>.</p>
*/
inline SendEmailRequest& WithSource(const Aws::String& value) { SetSource(value); return *this;}
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Amazon
* SES Developer Guide</a>.</p> <p>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 <code>SourceArn</code> parameter. For more information about
* sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p> <p>Amazon SES does not support the SMTPUTF8
* extension, as described in <a
* href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the
* <i>local part</i> of a source email address (the part of the email address that
* precedes the @ sign) may only contain <a
* href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII
* characters</a>. If the <i>domain part</i> of an address (the part after the @
* sign) contains non-ASCII characters, they must be encoded using Punycode, as
* described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The
* sender name (also known as the <i>friendly name</i>) may contain non-ASCII
* characters. These characters must be encoded using MIME encoded-word syntax, as
* described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME
* encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>.</p>
*/
inline SendEmailRequest& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;}
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html">Amazon
* SES Developer Guide</a>.</p> <p>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 <code>SourceArn</code> parameter. For more information about
* sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p> <p>Amazon SES does not support the SMTPUTF8
* extension, as described in <a
* href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the
* <i>local part</i> of a source email address (the part of the email address that
* precedes the @ sign) may only contain <a
* href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII
* characters</a>. If the <i>domain part</i> of an address (the part after the @
* sign) contains non-ASCII characters, they must be encoded using Punycode, as
* described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The
* sender name (also known as the <i>friendly name</i>) may contain non-ASCII
* characters. These characters must be encoded using MIME encoded-word syntax, as
* described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME
* encoded-word syntax uses the following form:
* <code>=?charset?encoding?encoded-text?=</code>.</p>
*/
inline SendEmailRequest& WithSource(const char* value) { SetSource(value); return *this;}
/**
* <p>The destination for this email, composed of To:, CC:, and BCC: fields.</p>
*/
inline const Destination& GetDestination() const{ return m_destination; }
/**
* <p>The destination for this email, composed of To:, CC:, and BCC: fields.</p>
*/
inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
/**
* <p>The destination for this email, composed of To:, CC:, and BCC: fields.</p>
*/
inline void SetDestination(const Destination& value) { m_destinationHasBeenSet = true; m_destination = value; }
/**
* <p>The destination for this email, composed of To:, CC:, and BCC: fields.</p>
*/
inline void SetDestination(Destination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); }
/**
* <p>The destination for this email, composed of To:, CC:, and BCC: fields.</p>
*/
inline SendEmailRequest& WithDestination(const Destination& value) { SetDestination(value); return *this;}
/**
* <p>The destination for this email, composed of To:, CC:, and BCC: fields.</p>
*/
inline SendEmailRequest& WithDestination(Destination&& value) { SetDestination(std::move(value)); return *this;}
/**
* <p>The message to be sent.</p>
*/
inline const Message& GetMessage() const{ return m_message; }
/**
* <p>The message to be sent.</p>
*/
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
/**
* <p>The message to be sent.</p>
*/
inline void SetMessage(const Message& value) { m_messageHasBeenSet = true; m_message = value; }
/**
* <p>The message to be sent.</p>
*/
inline void SetMessage(Message&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
/**
* <p>The message to be sent.</p>
*/
inline SendEmailRequest& WithMessage(const Message& value) { SetMessage(value); return *this;}
/**
* <p>The message to be sent.</p>
*/
inline SendEmailRequest& WithMessage(Message&& value) { SetMessage(std::move(value)); return *this;}
/**
* <p>The reply-to email address(es) for the message. If the recipient replies to
* the message, each reply-to address will receive the reply.</p>
*/
inline const Aws::Vector<Aws::String>& GetReplyToAddresses() const{ return m_replyToAddresses; }
/**
* <p>The reply-to email address(es) for the message. If the recipient replies to
* the message, each reply-to address will receive the reply.</p>
*/
inline bool ReplyToAddressesHasBeenSet() const { return m_replyToAddressesHasBeenSet; }
/**
* <p>The reply-to email address(es) for the message. If the recipient replies to
* the message, each reply-to address will receive the reply.</p>
*/
inline void SetReplyToAddresses(const Aws::Vector<Aws::String>& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses = value; }
/**
* <p>The reply-to email address(es) for the message. If the recipient replies to
* the message, each reply-to address will receive the reply.</p>
*/
inline void SetReplyToAddresses(Aws::Vector<Aws::String>&& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses = std::move(value); }
/**
* <p>The reply-to email address(es) for the message. If the recipient replies to
* the message, each reply-to address will receive the reply.</p>
*/
inline SendEmailRequest& WithReplyToAddresses(const Aws::Vector<Aws::String>& value) { SetReplyToAddresses(value); return *this;}
/**
* <p>The reply-to email address(es) for the message. If the recipient replies to
* the message, each reply-to address will receive the reply.</p>
*/
inline SendEmailRequest& WithReplyToAddresses(Aws::Vector<Aws::String>&& value) { SetReplyToAddresses(std::move(value)); return *this;}
/**
* <p>The reply-to email address(es) for the message. If the recipient replies to
* the message, each reply-to address will receive the reply.</p>
*/
inline SendEmailRequest& AddReplyToAddresses(const Aws::String& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses.push_back(value); return *this; }
/**
* <p>The reply-to email address(es) for the message. If the recipient replies to
* the message, each reply-to address will receive the reply.</p>
*/
inline SendEmailRequest& AddReplyToAddresses(Aws::String&& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses.push_back(std::move(value)); return *this; }
/**
* <p>The reply-to email address(es) for the message. If the recipient replies to
* the message, each reply-to address will receive the reply.</p>
*/
inline SendEmailRequest& AddReplyToAddresses(const char* value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses.push_back(value); return *this; }
/**
* <p>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
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code> 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. </p>
*/
inline const Aws::String& GetReturnPath() const{ return m_returnPath; }
/**
* <p>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
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code> 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. </p>
*/
inline bool ReturnPathHasBeenSet() const { return m_returnPathHasBeenSet; }
/**
* <p>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
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code> 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. </p>
*/
inline void SetReturnPath(const Aws::String& value) { m_returnPathHasBeenSet = true; m_returnPath = value; }
/**
* <p>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
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code> 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. </p>
*/
inline void SetReturnPath(Aws::String&& value) { m_returnPathHasBeenSet = true; m_returnPath = std::move(value); }
/**
* <p>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
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code> 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. </p>
*/
inline void SetReturnPath(const char* value) { m_returnPathHasBeenSet = true; m_returnPath.assign(value); }
/**
* <p>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
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code> 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. </p>
*/
inline SendEmailRequest& WithReturnPath(const Aws::String& value) { SetReturnPath(value); return *this;}
/**
* <p>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
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code> 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. </p>
*/
inline SendEmailRequest& WithReturnPath(Aws::String&& value) { SetReturnPath(std::move(value)); return *this;}
/**
* <p>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
* <code>ReturnPath</code> parameter. The <code>ReturnPath</code> 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. </p>
*/
inline SendEmailRequest& WithReturnPath(const char* value) { SetReturnPath(value); return *this;}
/**
* <p>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 <code>Source</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the <code>SourceArn</code>
* to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline const Aws::String& GetSourceArn() const{ return m_sourceArn; }
/**
* <p>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 <code>Source</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the <code>SourceArn</code>
* to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline bool SourceArnHasBeenSet() const { return m_sourceArnHasBeenSet; }
/**
* <p>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 <code>Source</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the <code>SourceArn</code>
* to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline void SetSourceArn(const Aws::String& value) { m_sourceArnHasBeenSet = true; m_sourceArn = value; }
/**
* <p>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 <code>Source</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the <code>SourceArn</code>
* to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline void SetSourceArn(Aws::String&& value) { m_sourceArnHasBeenSet = true; m_sourceArn = std::move(value); }
/**
* <p>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 <code>Source</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the <code>SourceArn</code>
* to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline void SetSourceArn(const char* value) { m_sourceArnHasBeenSet = true; m_sourceArn.assign(value); }
/**
* <p>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 <code>Source</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the <code>SourceArn</code>
* to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline SendEmailRequest& WithSourceArn(const Aws::String& value) { SetSourceArn(value); return *this;}
/**
* <p>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 <code>Source</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the <code>SourceArn</code>
* to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline SendEmailRequest& WithSourceArn(Aws::String&& value) { SetSourceArn(std::move(value)); return *this;}
/**
* <p>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 <code>Source</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to send from
* <code>user@example.com</code>, then you would specify the <code>SourceArn</code>
* to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and
* the <code>Source</code> to be <code>user@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline SendEmailRequest& WithSourceArn(const char* value) { SetSourceArn(value); return *this;}
/**
* <p>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 <code>ReturnPath</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the
* <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline const Aws::String& GetReturnPathArn() const{ return m_returnPathArn; }
/**
* <p>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 <code>ReturnPath</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the
* <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline bool ReturnPathArnHasBeenSet() const { return m_returnPathArnHasBeenSet; }
/**
* <p>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 <code>ReturnPath</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the
* <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline void SetReturnPathArn(const Aws::String& value) { m_returnPathArnHasBeenSet = true; m_returnPathArn = value; }
/**
* <p>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 <code>ReturnPath</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the
* <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline void SetReturnPathArn(Aws::String&& value) { m_returnPathArnHasBeenSet = true; m_returnPathArn = std::move(value); }
/**
* <p>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 <code>ReturnPath</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the
* <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline void SetReturnPathArn(const char* value) { m_returnPathArnHasBeenSet = true; m_returnPathArn.assign(value); }
/**
* <p>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 <code>ReturnPath</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the
* <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline SendEmailRequest& WithReturnPathArn(const Aws::String& value) { SetReturnPathArn(value); return *this;}
/**
* <p>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 <code>ReturnPath</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the
* <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline SendEmailRequest& WithReturnPathArn(Aws::String&& value) { SetReturnPathArn(std::move(value)); return *this;}
/**
* <p>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 <code>ReturnPath</code>
* parameter.</p> <p>For example, if the owner of <code>example.com</code> (which
* has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>)
* attaches a policy to it that authorizes you to use
* <code>feedback@example.com</code>, then you would specify the
* <code>ReturnPathArn</code> to be
* <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the
* <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>For more
* information about sending authorization, see the <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline SendEmailRequest& WithReturnPathArn(const char* value) { SetReturnPathArn(value); return *this;}
/**
* <p>A list of tags, in the form of name/value pairs, to apply to an email that
* you send using <code>SendEmail</code>. Tags correspond to characteristics of the
* email that you define, so that you can publish email sending events.</p>
*/
inline const Aws::Vector<MessageTag>& GetTags() const{ return m_tags; }
/**
* <p>A list of tags, in the form of name/value pairs, to apply to an email that
* you send using <code>SendEmail</code>. Tags correspond to characteristics of the
* email that you define, so that you can publish email sending events.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A list of tags, in the form of name/value pairs, to apply to an email that
* you send using <code>SendEmail</code>. Tags correspond to characteristics of the
* email that you define, so that you can publish email sending events.</p>
*/
inline void SetTags(const Aws::Vector<MessageTag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A list of tags, in the form of name/value pairs, to apply to an email that
* you send using <code>SendEmail</code>. Tags correspond to characteristics of the
* email that you define, so that you can publish email sending events.</p>
*/
inline void SetTags(Aws::Vector<MessageTag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A list of tags, in the form of name/value pairs, to apply to an email that
* you send using <code>SendEmail</code>. Tags correspond to characteristics of the
* email that you define, so that you can publish email sending events.</p>
*/
inline SendEmailRequest& WithTags(const Aws::Vector<MessageTag>& value) { SetTags(value); return *this;}
/**
* <p>A list of tags, in the form of name/value pairs, to apply to an email that
* you send using <code>SendEmail</code>. Tags correspond to characteristics of the
* email that you define, so that you can publish email sending events.</p>
*/
inline SendEmailRequest& WithTags(Aws::Vector<MessageTag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A list of tags, in the form of name/value pairs, to apply to an email that
* you send using <code>SendEmail</code>. Tags correspond to characteristics of the
* email that you define, so that you can publish email sending events.</p>
*/
inline SendEmailRequest& AddTags(const MessageTag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A list of tags, in the form of name/value pairs, to apply to an email that
* you send using <code>SendEmail</code>. Tags correspond to characteristics of the
* email that you define, so that you can publish email sending events.</p>
*/
inline SendEmailRequest& AddTags(MessageTag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
/**
* <p>The name of the configuration set to use when you send an email using
* <code>SendEmail</code>.</p>
*/
inline const Aws::String& GetConfigurationSetName() const{ return m_configurationSetName; }
/**
* <p>The name of the configuration set to use when you send an email using
* <code>SendEmail</code>.</p>
*/
inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; }
/**
* <p>The name of the configuration set to use when you send an email using
* <code>SendEmail</code>.</p>
*/
inline void SetConfigurationSetName(const Aws::String& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = value; }
/**
* <p>The name of the configuration set to use when you send an email using
* <code>SendEmail</code>.</p>
*/
inline void SetConfigurationSetName(Aws::String&& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = std::move(value); }
/**
* <p>The name of the configuration set to use when you send an email using
* <code>SendEmail</code>.</p>
*/
inline void SetConfigurationSetName(const char* value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName.assign(value); }
/**
* <p>The name of the configuration set to use when you send an email using
* <code>SendEmail</code>.</p>
*/
inline SendEmailRequest& WithConfigurationSetName(const Aws::String& value) { SetConfigurationSetName(value); return *this;}
/**
* <p>The name of the configuration set to use when you send an email using
* <code>SendEmail</code>.</p>
*/
inline SendEmailRequest& WithConfigurationSetName(Aws::String&& value) { SetConfigurationSetName(std::move(value)); return *this;}
/**
* <p>The name of the configuration set to use when you send an email using
* <code>SendEmail</code>.</p>
*/
inline SendEmailRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;}
private:
Aws::String m_source;
bool m_sourceHasBeenSet;
Destination m_destination;
bool m_destinationHasBeenSet;
Message m_message;
bool m_messageHasBeenSet;
Aws::Vector<Aws::String> m_replyToAddresses;
bool m_replyToAddressesHasBeenSet;
Aws::String m_returnPath;
bool m_returnPathHasBeenSet;
Aws::String m_sourceArn;
bool m_sourceArnHasBeenSet;
Aws::String m_returnPathArn;
bool m_returnPathArnHasBeenSet;
Aws::Vector<MessageTag> m_tags;
bool m_tagsHasBeenSet;
Aws::String m_configurationSetName;
bool m_configurationSetNameHasBeenSet;
};
} // namespace Model
} // namespace SES
} // namespace Aws