com.mailgun.model.domains.Domain Maven / Gradle / Ivy
Show all versions of mailgun-java Show documentation
package com.mailgun.model.domains;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.mailgun.enums.DomainState;
import com.mailgun.enums.SpamAction;
import com.mailgun.enums.WebScheme;
import lombok.Builder;
import lombok.Value;
import lombok.extern.jackson.Jacksonized;
import java.time.ZonedDateTime;
import static com.mailgun.util.Constants.ENGLISH;
import static com.mailgun.util.Constants.RFC_2822_DATE_TIME_PATTERN_TIME_ZONE_NAME;
/**
* Domain information
*
* @see Domains
*/
@Value
@Jacksonized
@Builder
@JsonIgnoreProperties(ignoreUnknown = true)
public class Domain {
/**
*
* Domain's id
*
*/
String id;
/**
*
* Flag whether the domain is disabled.
*
*/
@JsonProperty("is_disabled")
Boolean isDisabled;
/**
*
* Name of the domain (ex. domain.com)ю
*
*/
String name;
/**
*
* true
or false
*
*
*
* If set to true
, this requires the message only be sent over a TLS connection.
*
*
* If a TLS connection can not be established, Mailgun will not deliver the message.
*
*
*
* If set to false
, Mailgun will still try and upgrade the connection,
* but if Mailgun cannot, the message will be delivered over a plaintext SMTP connection.
*
*/
@JsonProperty("require_tls")
Boolean requireTls;
/**
*
* true
or false
*
*
*
* If set to true
, the certificate and hostname will not be verified when trying to establish a TLS connection
* and Mailgun will accept any certificate during delivery.
*
*
*
* If set to false
, Mailgun will verify the certificate and hostname.
* If either one can not be verified, a TLS connection will not be established.
*
*/
@JsonProperty("skip_verification")
Boolean skipVerification;
@JsonProperty("smtp_login")
String smtpLogin;
/**
*
* Spam action: disabled
, block
or tag
.
* {@link SpamAction}
*
*
*
* If disabled
, no spam filtering will occur for inbound messages.
*
*
* If block
, inbound spam messages will not be delivered.
*
*
* If tag
, inbound messages will be tagged with a spam header.
*
*
*/
@JsonProperty("spam_action")
SpamAction spamAction;
/**
*
* Domain's state
*
*
*
* Can be active
, unverified
or disabled
*
* {@link DomainState}
*/
DomainState state;
/**
*
* Domain's type
*
*/
String type;
/**
*
* The tracking CNAME for a domain.
*
*/
@JsonProperty("web_prefix")
String webPrefix;
/**
*
* Set your open, click and unsubscribe URLs to use http
or https
.
*
* {@link WebScheme}
*/
@JsonProperty("web_scheme")
WebScheme webScheme;
/**
*
* Determines whether the domain will accept email for sub-domains when sending messages.
* true
or false
*
*/
Boolean wildcard;
/**
*
* Domain creation time.
*
* {@link ZonedDateTime}
*/
@JsonFormat(pattern = RFC_2822_DATE_TIME_PATTERN_TIME_ZONE_NAME, locale = ENGLISH)
@JsonProperty("created_at")
ZonedDateTime createdAt;
}