diff --git a/bundle/default-bundle/pom.xml b/bundle/default-bundle/pom.xml
index e3a2654f3a..8e6e48c915 100644
--- a/bundle/default-bundle/pom.xml
+++ b/bundle/default-bundle/pom.xml
@@ -37,6 +37,10 @@
io.camunda.connector
connector-aws-bedrock
+
+ io.camunda.connector
+ connector-aws-s3
+
io.camunda.connector
connector-aws-textract
diff --git a/bundle/pom.xml b/bundle/pom.xml
index d907bf5f59..124c9de850 100644
--- a/bundle/pom.xml
+++ b/bundle/pom.xml
@@ -144,6 +144,11 @@
connector-aws-sagemaker
${project.version}
+
+ io.camunda.connector
+ connector-aws-s3
+ ${project.version}
+
io.camunda.connector
connector-email
diff --git a/connectors/email/src/main/java/io/camunda/connector/email/client/jakarta/utils/JakartaUtils.java b/connectors/email/src/main/java/io/camunda/connector/email/client/jakarta/utils/JakartaUtils.java
index aa1e8ccb55..ef904daba4 100644
--- a/connectors/email/src/main/java/io/camunda/connector/email/client/jakarta/utils/JakartaUtils.java
+++ b/connectors/email/src/main/java/io/camunda/connector/email/client/jakarta/utils/JakartaUtils.java
@@ -20,8 +20,10 @@
import io.camunda.connector.email.outbound.protocols.actions.SortFieldPop3;
import io.camunda.connector.email.outbound.protocols.actions.SortOrder;
import jakarta.mail.*;
+import jakarta.mail.internet.ContentType;
import jakarta.mail.internet.MimeMultipart;
import jakarta.validation.constraints.NotNull;
+import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.time.OffsetDateTime;
@@ -32,9 +34,9 @@
public class JakartaUtils {
+ public static final String HTML_CHARSET = "text/html; charset=utf-8";
private static final Logger LOGGER = LoggerFactory.getLogger(JakartaUtils.class);
private static final String REGEX_PATH_SPLITTER = "[./]";
- public static final String HTML_CHARSET = "text/html; charset=utf-8";
public Session createSession(Configuration configuration) {
return Session.getInstance(
@@ -282,11 +284,19 @@ private void processBodyPart(
throws MessagingException, IOException {
BodyPart bodyPart = multipart.getBodyPart(i);
switch (bodyPart.getContent()) {
- case InputStream attachment when bodyPart
- .getDisposition()
- .equalsIgnoreCase(Part.ATTACHMENT) ->
+ case InputStream attachment when Part.ATTACHMENT.equalsIgnoreCase(
+ bodyPart.getDisposition()) ->
+ emailBodyBuilder.addAttachment(
+ new EmailAttachment(
+ attachment,
+ bodyPart.getFileName(),
+ new ContentType(bodyPart.getContentType()).getBaseType()));
+ case String textAttachment when Part.ATTACHMENT.equalsIgnoreCase(bodyPart.getDisposition()) ->
emailBodyBuilder.addAttachment(
- new EmailAttachment(attachment, bodyPart.getFileName(), bodyPart.getContentType()));
+ new EmailAttachment(
+ new ByteArrayInputStream(textAttachment.getBytes()),
+ bodyPart.getFileName(),
+ new ContentType(bodyPart.getContentType()).getBaseType()));
case String plainText when bodyPart.isMimeType("text/plain") ->
emailBodyBuilder.withBodyAsPlainText(plainText);
case String html when bodyPart.isMimeType("text/html") ->
diff --git a/connectors/pom.xml b/connectors/pom.xml
index dd1d4522e1..fad37450c4 100644
--- a/connectors/pom.xml
+++ b/connectors/pom.xml
@@ -32,7 +32,6 @@
soap
webhook
idp-extraction
- aws/aws-s3