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

Represents the custom MAIL FROM domain attributes of a verified identity * (email address or domain).

See Also:

AWS * API Reference

*/ class IdentityMailFromDomainAttributes { public: AWS_SES_API IdentityMailFromDomainAttributes(); AWS_SES_API IdentityMailFromDomainAttributes(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API IdentityMailFromDomainAttributes& 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 custom MAIL FROM domain that the identity is configured to use.

*/ inline const Aws::String& GetMailFromDomain() const{ return m_mailFromDomain; } /** *

The custom MAIL FROM domain that the identity is configured to use.

*/ inline bool MailFromDomainHasBeenSet() const { return m_mailFromDomainHasBeenSet; } /** *

The custom MAIL FROM domain that the identity is configured to use.

*/ inline void SetMailFromDomain(const Aws::String& value) { m_mailFromDomainHasBeenSet = true; m_mailFromDomain = value; } /** *

The custom MAIL FROM domain that the identity is configured to use.

*/ inline void SetMailFromDomain(Aws::String&& value) { m_mailFromDomainHasBeenSet = true; m_mailFromDomain = std::move(value); } /** *

The custom MAIL FROM domain that the identity is configured to use.

*/ inline void SetMailFromDomain(const char* value) { m_mailFromDomainHasBeenSet = true; m_mailFromDomain.assign(value); } /** *

The custom MAIL FROM domain that the identity is configured to use.

*/ inline IdentityMailFromDomainAttributes& WithMailFromDomain(const Aws::String& value) { SetMailFromDomain(value); return *this;} /** *

The custom MAIL FROM domain that the identity is configured to use.

*/ inline IdentityMailFromDomainAttributes& WithMailFromDomain(Aws::String&& value) { SetMailFromDomain(std::move(value)); return *this;} /** *

The custom MAIL FROM domain that the identity is configured to use.

*/ inline IdentityMailFromDomainAttributes& WithMailFromDomain(const char* value) { SetMailFromDomain(value); return *this;} /** *

The state that indicates whether Amazon SES has successfully read the MX * record required for custom MAIL FROM domain setup. If the state is * Success, Amazon SES uses the specified custom MAIL FROM domain when * the verified identity sends an email. All other states indicate that Amazon SES * takes the action described by BehaviorOnMXFailure.

*/ inline const CustomMailFromStatus& GetMailFromDomainStatus() const{ return m_mailFromDomainStatus; } /** *

The state that indicates whether Amazon SES has successfully read the MX * record required for custom MAIL FROM domain setup. If the state is * Success, Amazon SES uses the specified custom MAIL FROM domain when * the verified identity sends an email. All other states indicate that Amazon SES * takes the action described by BehaviorOnMXFailure.

*/ inline bool MailFromDomainStatusHasBeenSet() const { return m_mailFromDomainStatusHasBeenSet; } /** *

The state that indicates whether Amazon SES has successfully read the MX * record required for custom MAIL FROM domain setup. If the state is * Success, Amazon SES uses the specified custom MAIL FROM domain when * the verified identity sends an email. All other states indicate that Amazon SES * takes the action described by BehaviorOnMXFailure.

*/ inline void SetMailFromDomainStatus(const CustomMailFromStatus& value) { m_mailFromDomainStatusHasBeenSet = true; m_mailFromDomainStatus = value; } /** *

The state that indicates whether Amazon SES has successfully read the MX * record required for custom MAIL FROM domain setup. If the state is * Success, Amazon SES uses the specified custom MAIL FROM domain when * the verified identity sends an email. All other states indicate that Amazon SES * takes the action described by BehaviorOnMXFailure.

*/ inline void SetMailFromDomainStatus(CustomMailFromStatus&& value) { m_mailFromDomainStatusHasBeenSet = true; m_mailFromDomainStatus = std::move(value); } /** *

The state that indicates whether Amazon SES has successfully read the MX * record required for custom MAIL FROM domain setup. If the state is * Success, Amazon SES uses the specified custom MAIL FROM domain when * the verified identity sends an email. All other states indicate that Amazon SES * takes the action described by BehaviorOnMXFailure.

*/ inline IdentityMailFromDomainAttributes& WithMailFromDomainStatus(const CustomMailFromStatus& value) { SetMailFromDomainStatus(value); return *this;} /** *

The state that indicates whether Amazon SES has successfully read the MX * record required for custom MAIL FROM domain setup. If the state is * Success, Amazon SES uses the specified custom MAIL FROM domain when * the verified identity sends an email. All other states indicate that Amazon SES * takes the action described by BehaviorOnMXFailure.

*/ inline IdentityMailFromDomainAttributes& WithMailFromDomainStatus(CustomMailFromStatus&& value) { SetMailFromDomainStatus(std::move(value)); return *this;} /** *

The action that Amazon SES takes if it cannot successfully read the required * MX record when you send an email. A value of UseDefaultValue * indicates that if Amazon SES cannot read the required MX record, it uses * amazonses.com (or a subdomain of that) as the MAIL FROM domain. A value of * RejectMessage indicates that if Amazon SES cannot read the required * MX record, Amazon SES returns a MailFromDomainNotVerified error and * does not send the email.

The custom MAIL FROM setup states that result in * this behavior are Pending, Failed, and * TemporaryFailure.

*/ inline const BehaviorOnMXFailure& GetBehaviorOnMXFailure() const{ return m_behaviorOnMXFailure; } /** *

The action that Amazon SES takes if it cannot successfully read the required * MX record when you send an email. A value of UseDefaultValue * indicates that if Amazon SES cannot read the required MX record, it uses * amazonses.com (or a subdomain of that) as the MAIL FROM domain. A value of * RejectMessage indicates that if Amazon SES cannot read the required * MX record, Amazon SES returns a MailFromDomainNotVerified error and * does not send the email.

The custom MAIL FROM setup states that result in * this behavior are Pending, Failed, and * TemporaryFailure.

*/ inline bool BehaviorOnMXFailureHasBeenSet() const { return m_behaviorOnMXFailureHasBeenSet; } /** *

The action that Amazon SES takes if it cannot successfully read the required * MX record when you send an email. A value of UseDefaultValue * indicates that if Amazon SES cannot read the required MX record, it uses * amazonses.com (or a subdomain of that) as the MAIL FROM domain. A value of * RejectMessage indicates that if Amazon SES cannot read the required * MX record, Amazon SES returns a MailFromDomainNotVerified error and * does not send the email.

The custom MAIL FROM setup states that result in * this behavior are Pending, Failed, and * TemporaryFailure.

*/ inline void SetBehaviorOnMXFailure(const BehaviorOnMXFailure& value) { m_behaviorOnMXFailureHasBeenSet = true; m_behaviorOnMXFailure = value; } /** *

The action that Amazon SES takes if it cannot successfully read the required * MX record when you send an email. A value of UseDefaultValue * indicates that if Amazon SES cannot read the required MX record, it uses * amazonses.com (or a subdomain of that) as the MAIL FROM domain. A value of * RejectMessage indicates that if Amazon SES cannot read the required * MX record, Amazon SES returns a MailFromDomainNotVerified error and * does not send the email.

The custom MAIL FROM setup states that result in * this behavior are Pending, Failed, and * TemporaryFailure.

*/ inline void SetBehaviorOnMXFailure(BehaviorOnMXFailure&& value) { m_behaviorOnMXFailureHasBeenSet = true; m_behaviorOnMXFailure = std::move(value); } /** *

The action that Amazon SES takes if it cannot successfully read the required * MX record when you send an email. A value of UseDefaultValue * indicates that if Amazon SES cannot read the required MX record, it uses * amazonses.com (or a subdomain of that) as the MAIL FROM domain. A value of * RejectMessage indicates that if Amazon SES cannot read the required * MX record, Amazon SES returns a MailFromDomainNotVerified error and * does not send the email.

The custom MAIL FROM setup states that result in * this behavior are Pending, Failed, and * TemporaryFailure.

*/ inline IdentityMailFromDomainAttributes& WithBehaviorOnMXFailure(const BehaviorOnMXFailure& value) { SetBehaviorOnMXFailure(value); return *this;} /** *

The action that Amazon SES takes if it cannot successfully read the required * MX record when you send an email. A value of UseDefaultValue * indicates that if Amazon SES cannot read the required MX record, it uses * amazonses.com (or a subdomain of that) as the MAIL FROM domain. A value of * RejectMessage indicates that if Amazon SES cannot read the required * MX record, Amazon SES returns a MailFromDomainNotVerified error and * does not send the email.

The custom MAIL FROM setup states that result in * this behavior are Pending, Failed, and * TemporaryFailure.

*/ inline IdentityMailFromDomainAttributes& WithBehaviorOnMXFailure(BehaviorOnMXFailure&& value) { SetBehaviorOnMXFailure(std::move(value)); return *this;} private: Aws::String m_mailFromDomain; bool m_mailFromDomainHasBeenSet = false; CustomMailFromStatus m_mailFromDomainStatus; bool m_mailFromDomainStatusHasBeenSet = false; BehaviorOnMXFailure m_behaviorOnMXFailure; bool m_behaviorOnMXFailureHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws