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