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

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

See Also:

AWS * API Reference

*/ class PutEmailIdentityMailFromAttributesRequest : public PinpointEmailRequest { public: AWS_PINPOINTEMAIL_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_PINPOINTEMAIL_API Aws::String SerializePayload() const override; /** *

The verified email identity that you want to set up the custom MAIL FROM * domain for.

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

The verified email identity that you want to set up the custom MAIL FROM * domain for.

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

The verified email identity that you want to set up the custom MAIL FROM * domain for.

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

The verified email identity that you want to set up the custom MAIL FROM * domain for.

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

The verified email identity that you want to set up the custom MAIL FROM * domain for.

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

The verified email identity that you want to set up the custom MAIL FROM * domain for.

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

The verified email identity that you want to set up the custom MAIL FROM * domain for.

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

The verified email identity that you want to set up the custom MAIL FROM * domain for.

*/ 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 that you want Amazon Pinpoint to take if it can't read the * required MX record when you send an email. When you set this value to * UseDefaultValue, Amazon Pinpoint uses amazonses.com as the * MAIL FROM domain. When you set this value to RejectMessage, Amazon * Pinpoint 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 that you want Amazon Pinpoint to take if it can't read the * required MX record when you send an email. When you set this value to * UseDefaultValue, Amazon Pinpoint uses amazonses.com as the * MAIL FROM domain. When you set this value to RejectMessage, Amazon * Pinpoint 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 that you want Amazon Pinpoint to take if it can't read the * required MX record when you send an email. When you set this value to * UseDefaultValue, Amazon Pinpoint uses amazonses.com as the * MAIL FROM domain. When you set this value to RejectMessage, Amazon * Pinpoint 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 that you want Amazon Pinpoint to take if it can't read the * required MX record when you send an email. When you set this value to * UseDefaultValue, Amazon Pinpoint uses amazonses.com as the * MAIL FROM domain. When you set this value to RejectMessage, Amazon * Pinpoint 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 that you want Amazon Pinpoint to take if it can't read the * required MX record when you send an email. When you set this value to * UseDefaultValue, Amazon Pinpoint uses amazonses.com as the * MAIL FROM domain. When you set this value to RejectMessage, Amazon * Pinpoint 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 that you want Amazon Pinpoint to take if it can't read the * required MX record when you send an email. When you set this value to * UseDefaultValue, Amazon Pinpoint uses amazonses.com as the * MAIL FROM domain. When you set this value to RejectMessage, Amazon * Pinpoint 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 PinpointEmail } // namespace Aws