diff --git a/src/main/java/com/mailgun/model/domains/Domain.java b/src/main/java/com/mailgun/model/domains/Domain.java index 4d1fd0a..bf1b5f3 100644 --- a/src/main/java/com/mailgun/model/domains/Domain.java +++ b/src/main/java/com/mailgun/model/domains/Domain.java @@ -6,6 +6,8 @@ import com.mailgun.enums.DomainState; import com.mailgun.enums.SpamAction; import com.mailgun.enums.WebScheme; + +import feign.form.FormProperty; import lombok.Builder; import lombok.Value; import lombok.extern.jackson.Jacksonized; @@ -153,6 +155,9 @@ public class Domain { */ Boolean wildcard; + @JsonProperty("message_ttl") + Integer messageTimeToLive; + /** *

* Domain creation time. diff --git a/src/main/java/com/mailgun/model/domains/DomainRequest.java b/src/main/java/com/mailgun/model/domains/DomainRequest.java index 1e98773..5a24bef 100644 --- a/src/main/java/com/mailgun/model/domains/DomainRequest.java +++ b/src/main/java/com/mailgun/model/domains/DomainRequest.java @@ -131,6 +131,19 @@ public class DomainRequest { @FormProperty("web_scheme") String webScheme; + /** + *

+ * Specifies the time-to-live (TTL) in seconds for retrieving both incoming and outgoing messages. + *

+ *

+ * Note: The maximum TTL value is determined by your subscription plan. + *

+ * + * @see Pricing + */ + @FormProperty("message_ttl") + Integer messageTimeToLive; + public static class DomainRequestBuilder { /** diff --git a/src/test/java/com/mailgun/integration/MailgunDomainsIntegrationTest.java b/src/test/java/com/mailgun/integration/MailgunDomainsIntegrationTest.java index 1b0b667..94602f8 100644 --- a/src/test/java/com/mailgun/integration/MailgunDomainsIntegrationTest.java +++ b/src/test/java/com/mailgun/integration/MailgunDomainsIntegrationTest.java @@ -88,6 +88,7 @@ void getAllDomainsSuccessTest() { assertNotNull(domain.getWebScheme()); assertNotNull(domain.getWildcard()); assertNotNull(domain.getCreatedAt()); + assertNotNull(domain.getMessageTimeToLive()); } @Test @@ -168,6 +169,7 @@ void createNewDomainSuccessTest() { .dkimKeySize(1024) .ips(Arrays.asList(IP_1, IP_2)) .webScheme(WebScheme.HTTPS) + .messageTimeToLive(6000) .build(); DomainResponse result = mailgunDomainsApi.createNewDomain(request); @@ -182,6 +184,7 @@ void createNewDomainSuccessTest() { assertEquals(true, domain.getWildcard()); assertTrue(CollectionUtils.isNotEmpty(result.getReceivingDnsRecords())); assertTrue(CollectionUtils.isNotEmpty(result.getSendingDnsRecords())); + assertEquals(6000, domain.getMessageTimeToLive()); } @Test diff --git a/src/test/java/com/mailgun/model/domains/DomainRequestTest.java b/src/test/java/com/mailgun/model/domains/DomainRequestTest.java index f5b4c42..37cb1ee 100644 --- a/src/test/java/com/mailgun/model/domains/DomainRequestTest.java +++ b/src/test/java/com/mailgun/model/domains/DomainRequestTest.java @@ -24,6 +24,7 @@ void builderSuccessTest() { .dkimKeySize(1024) .ips(Arrays.asList(TEST_IP_1, TEST_IP_2)) .webScheme(WebScheme.HTTPS) + .messageTimeToLive(6000) .build(); assertEquals(TEST_DOMAIN, request.getName()); @@ -33,6 +34,7 @@ void builderSuccessTest() { assertEquals(1024, request.getDkimKeySize()); assertTrue(request.getIps().containsAll(Arrays.asList(TEST_IP_1, TEST_IP_2))); assertEquals(WebScheme.HTTPS.getValue(), request.getWebScheme()); + assertEquals(6000, request.getMessageTimeToLive()); } }