/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace PinpointEmail { namespace Model { /** *

A list of attributes that are associated with a MAIL FROM * domain.

See Also:

AWS * API Reference

*/ class MailFromAttributes { public: AWS_PINPOINTEMAIL_API MailFromAttributes(); AWS_PINPOINTEMAIL_API MailFromAttributes(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINTEMAIL_API MailFromAttributes& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINTEMAIL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of a domain that an email identity uses as a custom MAIL FROM * domain.

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

The name of a domain that an email identity uses as a custom MAIL FROM * domain.

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

The name of a domain that an email identity uses as a custom MAIL FROM * domain.

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

The name of a domain that an email identity uses as a custom MAIL FROM * domain.

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

The name of a domain that an email identity uses as a custom MAIL FROM * domain.

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

The name of a domain that an email identity uses as a custom MAIL FROM * domain.

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

The name of a domain that an email identity uses as a custom MAIL FROM * domain.

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

The name of a domain that an email identity uses as a custom MAIL FROM * domain.

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

The status of the MAIL FROM domain. This status can have the following * values:

  • PENDING – Amazon Pinpoint hasn't started * searching for the MX record yet.

  • SUCCESS – * Amazon Pinpoint detected the required MX record for the MAIL FROM domain.

    *
  • FAILED – Amazon Pinpoint can't find the required MX * record, or the record no longer exists.

  • * TEMPORARY_FAILURE – A temporary issue occurred, which prevented * Amazon Pinpoint from determining the status of the MAIL FROM domain.

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

The status of the MAIL FROM domain. This status can have the following * values:

  • PENDING – Amazon Pinpoint hasn't started * searching for the MX record yet.

  • SUCCESS – * Amazon Pinpoint detected the required MX record for the MAIL FROM domain.

    *
  • FAILED – Amazon Pinpoint can't find the required MX * record, or the record no longer exists.

  • * TEMPORARY_FAILURE – A temporary issue occurred, which prevented * Amazon Pinpoint from determining the status of the MAIL FROM domain.

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

The status of the MAIL FROM domain. This status can have the following * values:

  • PENDING – Amazon Pinpoint hasn't started * searching for the MX record yet.

  • SUCCESS – * Amazon Pinpoint detected the required MX record for the MAIL FROM domain.

    *
  • FAILED – Amazon Pinpoint can't find the required MX * record, or the record no longer exists.

  • * TEMPORARY_FAILURE – A temporary issue occurred, which prevented * Amazon Pinpoint from determining the status of the MAIL FROM domain.

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

The status of the MAIL FROM domain. This status can have the following * values:

  • PENDING – Amazon Pinpoint hasn't started * searching for the MX record yet.

  • SUCCESS – * Amazon Pinpoint detected the required MX record for the MAIL FROM domain.

    *
  • FAILED – Amazon Pinpoint can't find the required MX * record, or the record no longer exists.

  • * TEMPORARY_FAILURE – A temporary issue occurred, which prevented * Amazon Pinpoint from determining the status of the MAIL FROM domain.

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

The status of the MAIL FROM domain. This status can have the following * values:

  • PENDING – Amazon Pinpoint hasn't started * searching for the MX record yet.

  • SUCCESS – * Amazon Pinpoint detected the required MX record for the MAIL FROM domain.

    *
  • FAILED – Amazon Pinpoint can't find the required MX * record, or the record no longer exists.

  • * TEMPORARY_FAILURE – A temporary issue occurred, which prevented * Amazon Pinpoint from determining the status of the MAIL FROM domain.

  • *
*/ inline MailFromAttributes& WithMailFromDomainStatus(const MailFromDomainStatus& value) { SetMailFromDomainStatus(value); return *this;} /** *

The status of the MAIL FROM domain. This status can have the following * values:

  • PENDING – Amazon Pinpoint hasn't started * searching for the MX record yet.

  • SUCCESS – * Amazon Pinpoint detected the required MX record for the MAIL FROM domain.

    *
  • FAILED – Amazon Pinpoint can't find the required MX * record, or the record no longer exists.

  • * TEMPORARY_FAILURE – A temporary issue occurred, which prevented * Amazon Pinpoint from determining the status of the MAIL FROM domain.

  • *
*/ inline MailFromAttributes& WithMailFromDomainStatus(MailFromDomainStatus&& value) { SetMailFromDomainStatus(std::move(value)); return *this;} /** *

The action that Amazon Pinpoint to takes if it can't read the required MX * record for a custom MAIL FROM domain. 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 Amazon Pinpoint to takes if it can't read the required MX * record for a custom MAIL FROM domain. 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 Amazon Pinpoint to takes if it can't read the required MX * record for a custom MAIL FROM domain. 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 Amazon Pinpoint to takes if it can't read the required MX * record for a custom MAIL FROM domain. 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 Amazon Pinpoint to takes if it can't read the required MX * record for a custom MAIL FROM domain. 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 MailFromAttributes& WithBehaviorOnMxFailure(const BehaviorOnMxFailure& value) { SetBehaviorOnMxFailure(value); return *this;} /** *

The action that Amazon Pinpoint to takes if it can't read the required MX * record for a custom MAIL FROM domain. 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 MailFromAttributes& WithBehaviorOnMxFailure(BehaviorOnMxFailure&& value) { SetBehaviorOnMxFailure(std::move(value)); return *this;} private: Aws::String m_mailFromDomain; bool m_mailFromDomainHasBeenSet = false; MailFromDomainStatus m_mailFromDomainStatus; bool m_mailFromDomainStatusHasBeenSet = false; BehaviorOnMxFailure m_behaviorOnMxFailure; bool m_behaviorOnMxFailureHasBeenSet = false; }; } // namespace Model } // namespace PinpointEmail } // namespace Aws