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

Represents a request to enable or disable the Amazon SES custom MAIL FROM * domain setup for a verified identity. For information about using a custom MAIL * FROM domain, see the Amazon * SES Developer Guide.

See Also:

AWS * API Reference

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

The verified identity for which you want to enable or disable the specified * custom MAIL FROM domain.

*/ inline const Aws::String& GetIdentity() const{ return m_identity; } /** *

The verified identity for which you want to enable or disable the specified * custom MAIL FROM domain.

*/ inline bool IdentityHasBeenSet() const { return m_identityHasBeenSet; } /** *

The verified identity for which you want to enable or disable the specified * custom MAIL FROM domain.

*/ inline void SetIdentity(const Aws::String& value) { m_identityHasBeenSet = true; m_identity = value; } /** *

The verified identity for which you want to enable or disable the specified * custom MAIL FROM domain.

*/ inline void SetIdentity(Aws::String&& value) { m_identityHasBeenSet = true; m_identity = std::move(value); } /** *

The verified identity for which you want to enable or disable the specified * custom MAIL FROM domain.

*/ inline void SetIdentity(const char* value) { m_identityHasBeenSet = true; m_identity.assign(value); } /** *

The verified identity for which you want to enable or disable the specified * custom MAIL FROM domain.

*/ inline SetIdentityMailFromDomainRequest& WithIdentity(const Aws::String& value) { SetIdentity(value); return *this;} /** *

The verified identity for which you want to enable or disable the specified * custom MAIL FROM domain.

*/ inline SetIdentityMailFromDomainRequest& WithIdentity(Aws::String&& value) { SetIdentity(std::move(value)); return *this;} /** *

The verified identity for which you want to enable or disable the specified * custom MAIL FROM domain.

*/ inline SetIdentityMailFromDomainRequest& WithIdentity(const char* value) { SetIdentity(value); return *this;} /** *

The custom MAIL FROM domain that you want the verified identity to use. The * MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used * in a "From" address if the MAIL FROM domain is the destination of email feedback * forwarding (for more information, see the Amazon * SES Developer Guide), and 3) not be used to receive emails. A value of * null disables the custom MAIL FROM setting for the identity.

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

The custom MAIL FROM domain that you want the verified identity to use. The * MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used * in a "From" address if the MAIL FROM domain is the destination of email feedback * forwarding (for more information, see the Amazon * SES Developer Guide), and 3) not be used to receive emails. A value of * null disables the custom MAIL FROM setting for the identity.

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

The custom MAIL FROM domain that you want the verified identity to use. The * MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used * in a "From" address if the MAIL FROM domain is the destination of email feedback * forwarding (for more information, see the Amazon * SES Developer Guide), and 3) not be used to receive emails. A value of * null disables the custom MAIL FROM setting for the identity.

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

The custom MAIL FROM domain that you want the verified identity to use. The * MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used * in a "From" address if the MAIL FROM domain is the destination of email feedback * forwarding (for more information, see the Amazon * SES Developer Guide), and 3) not be used to receive emails. A value of * null disables the custom MAIL FROM setting for the identity.

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

The custom MAIL FROM domain that you want the verified identity to use. The * MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used * in a "From" address if the MAIL FROM domain is the destination of email feedback * forwarding (for more information, see the Amazon * SES Developer Guide), and 3) not be used to receive emails. A value of * null disables the custom MAIL FROM setting for the identity.

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

The custom MAIL FROM domain that you want the verified identity to use. The * MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used * in a "From" address if the MAIL FROM domain is the destination of email feedback * forwarding (for more information, see the Amazon * SES Developer Guide), and 3) not be used to receive emails. A value of * null disables the custom MAIL FROM setting for the identity.

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

The custom MAIL FROM domain that you want the verified identity to use. The * MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used * in a "From" address if the MAIL FROM domain is the destination of email feedback * forwarding (for more information, see the Amazon * SES Developer Guide), and 3) not be used to receive emails. A value of * null disables the custom MAIL FROM setting for the identity.

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

The custom MAIL FROM domain that you want the verified identity to use. The * MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used * in a "From" address if the MAIL FROM domain is the destination of email feedback * forwarding (for more information, see the Amazon * SES Developer Guide), and 3) not be used to receive emails. A value of * null disables the custom MAIL FROM setting for the identity.

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

The action that you want Amazon SES to take if it cannot successfully read * the required MX record when you send an email. If you choose * UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain * of that) as the MAIL FROM domain. If you choose RejectMessage, * Amazon SES will return a MailFromDomainNotVerified error and not * send the email.

The action specified in BehaviorOnMXFailure * is taken when the custom MAIL FROM domain setup is in the Pending, * Failed, and TemporaryFailure states.

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

The action that you want Amazon SES to take if it cannot successfully read * the required MX record when you send an email. If you choose * UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain * of that) as the MAIL FROM domain. If you choose RejectMessage, * Amazon SES will return a MailFromDomainNotVerified error and not * send the email.

The action specified in BehaviorOnMXFailure * is taken when the custom MAIL FROM domain setup is in the Pending, * Failed, and TemporaryFailure states.

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

The action that you want Amazon SES to take if it cannot successfully read * the required MX record when you send an email. If you choose * UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain * of that) as the MAIL FROM domain. If you choose RejectMessage, * Amazon SES will return a MailFromDomainNotVerified error and not * send the email.

The action specified in BehaviorOnMXFailure * is taken when the custom MAIL FROM domain setup is in the Pending, * Failed, and TemporaryFailure states.

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

The action that you want Amazon SES to take if it cannot successfully read * the required MX record when you send an email. If you choose * UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain * of that) as the MAIL FROM domain. If you choose RejectMessage, * Amazon SES will return a MailFromDomainNotVerified error and not * send the email.

The action specified in BehaviorOnMXFailure * is taken when the custom MAIL FROM domain setup is in the Pending, * Failed, and TemporaryFailure states.

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

The action that you want Amazon SES to take if it cannot successfully read * the required MX record when you send an email. If you choose * UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain * of that) as the MAIL FROM domain. If you choose RejectMessage, * Amazon SES will return a MailFromDomainNotVerified error and not * send the email.

The action specified in BehaviorOnMXFailure * is taken when the custom MAIL FROM domain setup is in the Pending, * Failed, and TemporaryFailure states.

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

The action that you want Amazon SES to take if it cannot successfully read * the required MX record when you send an email. If you choose * UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain * of that) as the MAIL FROM domain. If you choose RejectMessage, * Amazon SES will return a MailFromDomainNotVerified error and not * send the email.

The action specified in BehaviorOnMXFailure * is taken when the custom MAIL FROM domain setup is in the Pending, * Failed, and TemporaryFailure states.

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