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

A request to configure the custom MAIL FROM domain for a verified * identity.

See Also:

AWS * API Reference

*/ class PutEmailIdentityMailFromAttributesRequest : public SESV2Request { public: AWS_SESV2_API PutEmailIdentityMailFromAttributesRequest(); // 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 "PutEmailIdentityMailFromAttributes"; } AWS_SESV2_API Aws::String SerializePayload() const override; /** *

The verified email identity.

*/ inline const Aws::String& GetEmailIdentity() const{ return m_emailIdentity; } /** *

The verified email identity.

*/ inline bool EmailIdentityHasBeenSet() const { return m_emailIdentityHasBeenSet; } /** *

The verified email identity.

*/ inline void SetEmailIdentity(const Aws::String& value) { m_emailIdentityHasBeenSet = true; m_emailIdentity = value; } /** *

The verified email identity.

*/ inline void SetEmailIdentity(Aws::String&& value) { m_emailIdentityHasBeenSet = true; m_emailIdentity = std::move(value); } /** *

The verified email identity.

*/ inline void SetEmailIdentity(const char* value) { m_emailIdentityHasBeenSet = true; m_emailIdentity.assign(value); } /** *

The verified email identity.

*/ inline PutEmailIdentityMailFromAttributesRequest& WithEmailIdentity(const Aws::String& value) { SetEmailIdentity(value); return *this;} /** *

The verified email identity.

*/ inline PutEmailIdentityMailFromAttributesRequest& WithEmailIdentity(Aws::String&& value) { SetEmailIdentity(std::move(value)); return *this;} /** *

The verified email identity.

*/ inline PutEmailIdentityMailFromAttributesRequest& WithEmailIdentity(const char* value) { SetEmailIdentity(value); return *this;} /** *

The custom MAIL FROM domain that you want the verified identity to use. The * MAIL FROM domain must meet the following criteria:

  • It has to be * a subdomain of the verified identity.

  • It can't be used to * receive email.

  • It can't be used in a "From" address if the * MAIL FROM domain is a destination for feedback forwarding emails.

  • *
*/ 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 meet the following criteria:

  • It has to be * a subdomain of the verified identity.

  • It can't be used to * receive email.

  • It can't be used in a "From" address if the * MAIL FROM domain is a destination for feedback forwarding emails.

  • *
*/ 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 meet the following criteria:

  • It has to be * a subdomain of the verified identity.

  • It can't be used to * receive email.

  • It can't be used in a "From" address if the * MAIL FROM domain is a destination for feedback forwarding emails.

  • *
*/ 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 meet the following criteria:

  • It has to be * a subdomain of the verified identity.

  • It can't be used to * receive email.

  • It can't be used in a "From" address if the * MAIL FROM domain is a destination for feedback forwarding emails.

  • *
*/ 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 meet the following criteria:

  • It has to be * a subdomain of the verified identity.

  • It can't be used to * receive email.

  • It can't be used in a "From" address if the * MAIL FROM domain is a destination for feedback forwarding emails.

  • *
*/ 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 meet the following criteria:

  • It has to be * a subdomain of the verified identity.

  • It can't be used to * receive email.

  • It can't be used in a "From" address if the * MAIL FROM domain is a destination for feedback forwarding emails.

  • *
*/ inline PutEmailIdentityMailFromAttributesRequest& 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 meet the following criteria:

  • It has to be * a subdomain of the verified identity.

  • It can't be used to * receive email.

  • It can't be used in a "From" address if the * MAIL FROM domain is a destination for feedback forwarding emails.

  • *
*/ inline PutEmailIdentityMailFromAttributesRequest& 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 meet the following criteria:

  • It has to be * a subdomain of the verified identity.

  • It can't be used to * receive email.

  • It can't be used in a "From" address if the * MAIL FROM domain is a destination for feedback forwarding emails.

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

The action to take if the required MX record isn't found when you send an * email. When you set this value to UseDefaultValue, the mail is sent * using amazonses.com as the MAIL FROM domain. When you set this value to * RejectMessage, the Amazon SES API v2 returns a * MailFromDomainNotVerified error, and doesn't attempt to deliver the * email.

These behaviors are taken when the custom MAIL FROM domain * configuration is in the Pending, Failed, and * TemporaryFailure states.

*/ inline const BehaviorOnMxFailure& GetBehaviorOnMxFailure() const{ return m_behaviorOnMxFailure; } /** *

The action to take if the required MX record isn't found when you send an * email. When you set this value to UseDefaultValue, the mail is sent * using amazonses.com as the MAIL FROM domain. When you set this value to * RejectMessage, the Amazon SES API v2 returns a * MailFromDomainNotVerified error, and doesn't attempt to deliver the * email.

These behaviors are taken when the custom MAIL FROM domain * configuration is in the Pending, Failed, and * TemporaryFailure states.

*/ inline bool BehaviorOnMxFailureHasBeenSet() const { return m_behaviorOnMxFailureHasBeenSet; } /** *

The action to take if the required MX record isn't found when you send an * email. When you set this value to UseDefaultValue, the mail is sent * using amazonses.com as the MAIL FROM domain. When you set this value to * RejectMessage, the Amazon SES API v2 returns a * MailFromDomainNotVerified error, and doesn't attempt to deliver the * email.

These behaviors are taken when the custom MAIL FROM domain * configuration is in the Pending, Failed, and * TemporaryFailure states.

*/ inline void SetBehaviorOnMxFailure(const BehaviorOnMxFailure& value) { m_behaviorOnMxFailureHasBeenSet = true; m_behaviorOnMxFailure = value; } /** *

The action to take if the required MX record isn't found when you send an * email. When you set this value to UseDefaultValue, the mail is sent * using amazonses.com as the MAIL FROM domain. When you set this value to * RejectMessage, the Amazon SES API v2 returns a * MailFromDomainNotVerified error, and doesn't attempt to deliver the * email.

These behaviors are taken when the custom MAIL FROM domain * configuration is in the Pending, Failed, and * TemporaryFailure states.

*/ inline void SetBehaviorOnMxFailure(BehaviorOnMxFailure&& value) { m_behaviorOnMxFailureHasBeenSet = true; m_behaviorOnMxFailure = std::move(value); } /** *

The action to take if the required MX record isn't found when you send an * email. When you set this value to UseDefaultValue, the mail is sent * using amazonses.com as the MAIL FROM domain. When you set this value to * RejectMessage, the Amazon SES API v2 returns a * MailFromDomainNotVerified error, and doesn't attempt to deliver the * email.

These behaviors are taken when the custom MAIL FROM domain * configuration is in the Pending, Failed, and * TemporaryFailure states.

*/ inline PutEmailIdentityMailFromAttributesRequest& WithBehaviorOnMxFailure(const BehaviorOnMxFailure& value) { SetBehaviorOnMxFailure(value); return *this;} /** *

The action to take if the required MX record isn't found when you send an * email. When you set this value to UseDefaultValue, the mail is sent * using amazonses.com as the MAIL FROM domain. When you set this value to * RejectMessage, the Amazon SES API v2 returns a * MailFromDomainNotVerified error, and doesn't attempt to deliver the * email.

These behaviors are taken when the custom MAIL FROM domain * configuration is in the Pending, Failed, and * TemporaryFailure states.

*/ inline PutEmailIdentityMailFromAttributesRequest& WithBehaviorOnMxFailure(BehaviorOnMxFailure&& value) { SetBehaviorOnMxFailure(std::move(value)); return *this;} private: Aws::String m_emailIdentity; bool m_emailIdentityHasBeenSet = false; Aws::String m_mailFromDomain; bool m_mailFromDomainHasBeenSet = false; BehaviorOnMxFailure m_behaviorOnMxFailure; bool m_behaviorOnMxFailureHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws