/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace SES { namespace Model { /** *

Represents the destination of the message, consisting of To:, CC:, and BCC: * fields.

Amazon SES does not support the SMTPUTF8 extension, as * described in RFC6531. For this * reason, the local part of a destination 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.

*

See Also:

AWS * API Reference

*/ class Destination { public: AWS_SES_API Destination(); AWS_SES_API Destination(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API Destination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_SES_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The recipients to place on the To: line of the message.

*/ inline const Aws::Vector& GetToAddresses() const{ return m_toAddresses; } /** *

The recipients to place on the To: line of the message.

*/ inline bool ToAddressesHasBeenSet() const { return m_toAddressesHasBeenSet; } /** *

The recipients to place on the To: line of the message.

*/ inline void SetToAddresses(const Aws::Vector& value) { m_toAddressesHasBeenSet = true; m_toAddresses = value; } /** *

The recipients to place on the To: line of the message.

*/ inline void SetToAddresses(Aws::Vector&& value) { m_toAddressesHasBeenSet = true; m_toAddresses = std::move(value); } /** *

The recipients to place on the To: line of the message.

*/ inline Destination& WithToAddresses(const Aws::Vector& value) { SetToAddresses(value); return *this;} /** *

The recipients to place on the To: line of the message.

*/ inline Destination& WithToAddresses(Aws::Vector&& value) { SetToAddresses(std::move(value)); return *this;} /** *

The recipients to place on the To: line of the message.

*/ inline Destination& AddToAddresses(const Aws::String& value) { m_toAddressesHasBeenSet = true; m_toAddresses.push_back(value); return *this; } /** *

The recipients to place on the To: line of the message.

*/ inline Destination& AddToAddresses(Aws::String&& value) { m_toAddressesHasBeenSet = true; m_toAddresses.push_back(std::move(value)); return *this; } /** *

The recipients to place on the To: line of the message.

*/ inline Destination& AddToAddresses(const char* value) { m_toAddressesHasBeenSet = true; m_toAddresses.push_back(value); return *this; } /** *

The recipients to place on the CC: line of the message.

*/ inline const Aws::Vector& GetCcAddresses() const{ return m_ccAddresses; } /** *

The recipients to place on the CC: line of the message.

*/ inline bool CcAddressesHasBeenSet() const { return m_ccAddressesHasBeenSet; } /** *

The recipients to place on the CC: line of the message.

*/ inline void SetCcAddresses(const Aws::Vector& value) { m_ccAddressesHasBeenSet = true; m_ccAddresses = value; } /** *

The recipients to place on the CC: line of the message.

*/ inline void SetCcAddresses(Aws::Vector&& value) { m_ccAddressesHasBeenSet = true; m_ccAddresses = std::move(value); } /** *

The recipients to place on the CC: line of the message.

*/ inline Destination& WithCcAddresses(const Aws::Vector& value) { SetCcAddresses(value); return *this;} /** *

The recipients to place on the CC: line of the message.

*/ inline Destination& WithCcAddresses(Aws::Vector&& value) { SetCcAddresses(std::move(value)); return *this;} /** *

The recipients to place on the CC: line of the message.

*/ inline Destination& AddCcAddresses(const Aws::String& value) { m_ccAddressesHasBeenSet = true; m_ccAddresses.push_back(value); return *this; } /** *

The recipients to place on the CC: line of the message.

*/ inline Destination& AddCcAddresses(Aws::String&& value) { m_ccAddressesHasBeenSet = true; m_ccAddresses.push_back(std::move(value)); return *this; } /** *

The recipients to place on the CC: line of the message.

*/ inline Destination& AddCcAddresses(const char* value) { m_ccAddressesHasBeenSet = true; m_ccAddresses.push_back(value); return *this; } /** *

The recipients to place on the BCC: line of the message.

*/ inline const Aws::Vector& GetBccAddresses() const{ return m_bccAddresses; } /** *

The recipients to place on the BCC: line of the message.

*/ inline bool BccAddressesHasBeenSet() const { return m_bccAddressesHasBeenSet; } /** *

The recipients to place on the BCC: line of the message.

*/ inline void SetBccAddresses(const Aws::Vector& value) { m_bccAddressesHasBeenSet = true; m_bccAddresses = value; } /** *

The recipients to place on the BCC: line of the message.

*/ inline void SetBccAddresses(Aws::Vector&& value) { m_bccAddressesHasBeenSet = true; m_bccAddresses = std::move(value); } /** *

The recipients to place on the BCC: line of the message.

*/ inline Destination& WithBccAddresses(const Aws::Vector& value) { SetBccAddresses(value); return *this;} /** *

The recipients to place on the BCC: line of the message.

*/ inline Destination& WithBccAddresses(Aws::Vector&& value) { SetBccAddresses(std::move(value)); return *this;} /** *

The recipients to place on the BCC: line of the message.

*/ inline Destination& AddBccAddresses(const Aws::String& value) { m_bccAddressesHasBeenSet = true; m_bccAddresses.push_back(value); return *this; } /** *

The recipients to place on the BCC: line of the message.

*/ inline Destination& AddBccAddresses(Aws::String&& value) { m_bccAddressesHasBeenSet = true; m_bccAddresses.push_back(std::move(value)); return *this; } /** *

The recipients to place on the BCC: line of the message.

*/ inline Destination& AddBccAddresses(const char* value) { m_bccAddressesHasBeenSet = true; m_bccAddresses.push_back(value); return *this; } private: Aws::Vector m_toAddresses; bool m_toAddressesHasBeenSet = false; Aws::Vector m_ccAddresses; bool m_ccAddressesHasBeenSet = false; Aws::Vector m_bccAddresses; bool m_bccAddressesHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws