diff --git a/src/activities/Elsa.Activities.Email/Activities/SendEmail/EmailAttachment.cs b/src/activities/Elsa.Activities.Email/Activities/SendEmail/EmailAttachment.cs index 591b826e5..7f7e2f960 100644 --- a/src/activities/Elsa.Activities.Email/Activities/SendEmail/EmailAttachment.cs +++ b/src/activities/Elsa.Activities.Email/Activities/SendEmail/EmailAttachment.cs @@ -1,5 +1,5 @@ // ReSharper disable once CheckNamespace namespace Elsa.Activities.Email { - public record EmailAttachment(byte[] Content, string? FileName, string? ContentType); + public record EmailAttachment(object Content, string? FileName, string? ContentType); } \ No newline at end of file diff --git a/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmail.cs b/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmail.cs index 2f80d34b7..635c259ed 100644 --- a/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmail.cs +++ b/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmail.cs @@ -136,7 +136,14 @@ namespace Elsa.Activities.Email { var fileName = emailAttachment.FileName ?? $"Attachment-{++index}"; var contentType = emailAttachment.ContentType ?? "application/binary"; - bodyBuilder.Attachments.Add(fileName, emailAttachment.Content, ContentType.Parse(contentType)); + var parsedContentType = ContentType.Parse(contentType); + + if(emailAttachment.Content is byte[] bytes) + bodyBuilder.Attachments.Add(fileName, bytes, parsedContentType); + + else if(emailAttachment.Content is Stream stream) + await bodyBuilder.Attachments.AddAsync(fileName, stream, parsedContentType, cancellationToken); + break; } default: