From 36a4635801da2a06e4d4e3960223c8d75707a1ae Mon Sep 17 00:00:00 2001 From: Kewyn Akshlley Date: Wed, 6 Aug 2025 22:43:52 -0300 Subject: [PATCH 1/2] feat: Add inline attachment --- .../services/emails/model/Attachment.java | 23 +++++++++++++++++++ .../resend/services/emails/EmailsTest.java | 2 -- .../com/resend/services/util/EmailsUtil.java | 1 + 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/resend/services/emails/model/Attachment.java b/src/main/java/com/resend/services/emails/model/Attachment.java index cfff85b..05f49c1 100644 --- a/src/main/java/com/resend/services/emails/model/Attachment.java +++ b/src/main/java/com/resend/services/emails/model/Attachment.java @@ -15,10 +15,14 @@ public class Attachment { @JsonProperty("path") private final String path; + @JsonProperty("inline_content_id") + private final String inlineContentId; + private Attachment(Builder builder) { this.fileName = builder.fileName; this.content = builder.content; this.path = builder.path; + this.inlineContentId = builder.inlineContentId; } /** @@ -45,6 +49,14 @@ public String getPath() { return path; } + /** + * Get the content ID for inline attachments used in HTML content with cid: references. + * @return The content ID for inline attachments. + */ + public String getInlineContentId() { + return inlineContentId; + } + /** * Create a new Attachment builder. * @return A new Builder instance. @@ -60,6 +72,7 @@ public static class Builder { private String fileName; private String content; private String path; + private String inlineContentId; /** * Set the filename of the attachment. @@ -91,6 +104,16 @@ public Builder path(String path) { return this; } + /** + * Set the content ID for inline attachments used in HTML content with cid: references. + * @param inlineContentId The content ID for inline attachments. + * @return The Builder instance. + */ + public Builder inlineContentId(String inlineContentId) { + this.inlineContentId = inlineContentId; + return this; + } + /** * Build an Attachment instance. * @return The built Attachment. diff --git a/src/test/java/com/resend/services/emails/EmailsTest.java b/src/test/java/com/resend/services/emails/EmailsTest.java index 38fbee0..28a8afc 100644 --- a/src/test/java/com/resend/services/emails/EmailsTest.java +++ b/src/test/java/com/resend/services/emails/EmailsTest.java @@ -10,9 +10,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import java.util.Collections; import java.util.List; -import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; diff --git a/src/test/java/com/resend/services/util/EmailsUtil.java b/src/test/java/com/resend/services/util/EmailsUtil.java index 488dd31..7df0acb 100644 --- a/src/test/java/com/resend/services/util/EmailsUtil.java +++ b/src/test/java/com/resend/services/util/EmailsUtil.java @@ -17,6 +17,7 @@ public static Attachment createAttachment() { return Attachment.builder() .fileName("invoice.pdf") .content("invoice.pdf") + .inlineContentId("my-image") .build(); } From eb9b1020eb2169f08ac2a5d9df3ec4557ffe01ce Mon Sep 17 00:00:00 2001 From: Kewyn Akshlley Date: Thu, 7 Aug 2025 13:42:42 -0300 Subject: [PATCH 2/2] fix: Change inline_content_id to content_id --- .../services/emails/model/Attachment.java | 18 +++++++++--------- .../com/resend/services/util/EmailsUtil.java | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/resend/services/emails/model/Attachment.java b/src/main/java/com/resend/services/emails/model/Attachment.java index 05f49c1..1c84233 100644 --- a/src/main/java/com/resend/services/emails/model/Attachment.java +++ b/src/main/java/com/resend/services/emails/model/Attachment.java @@ -15,14 +15,14 @@ public class Attachment { @JsonProperty("path") private final String path; - @JsonProperty("inline_content_id") - private final String inlineContentId; + @JsonProperty("content_id") + private final String contentId; private Attachment(Builder builder) { this.fileName = builder.fileName; this.content = builder.content; this.path = builder.path; - this.inlineContentId = builder.inlineContentId; + this.contentId = builder.contentId; } /** @@ -53,8 +53,8 @@ public String getPath() { * Get the content ID for inline attachments used in HTML content with cid: references. * @return The content ID for inline attachments. */ - public String getInlineContentId() { - return inlineContentId; + public String getContentId() { + return contentId; } /** @@ -72,7 +72,7 @@ public static class Builder { private String fileName; private String content; private String path; - private String inlineContentId; + private String contentId; /** * Set the filename of the attachment. @@ -106,11 +106,11 @@ public Builder path(String path) { /** * Set the content ID for inline attachments used in HTML content with cid: references. - * @param inlineContentId The content ID for inline attachments. + * @param contentId The content ID for inline attachments. * @return The Builder instance. */ - public Builder inlineContentId(String inlineContentId) { - this.inlineContentId = inlineContentId; + public Builder contentId(String contentId) { + this.contentId = contentId; return this; } diff --git a/src/test/java/com/resend/services/util/EmailsUtil.java b/src/test/java/com/resend/services/util/EmailsUtil.java index 7df0acb..3c47b7c 100644 --- a/src/test/java/com/resend/services/util/EmailsUtil.java +++ b/src/test/java/com/resend/services/util/EmailsUtil.java @@ -17,7 +17,7 @@ public static Attachment createAttachment() { return Attachment.builder() .fileName("invoice.pdf") .content("invoice.pdf") - .inlineContentId("my-image") + .contentId("my-image") .build(); }