From ddd4f0909ef3714dcee83d72941f9671e4b5cad4 Mon Sep 17 00:00:00 2001 From: dapug Date: Mon, 27 Nov 2017 16:26:32 -0700 Subject: [PATCH 1/2] Added support for Inline images in MailGun --- src/FluentEmail.Core/Models/Attachment.cs | 4 +++ .../FluentEmail.Mailgun/MailgunSender.cs | 9 ++++- .../FluentEmail.Mailgun.Tests.csproj | 8 +++++ .../MailgunSenderTests.cs | 31 ++++++++++++++++++ test/FluentEmail.Mailgun.Tests/logotest.png | Bin 0 -> 11390 bytes 5 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 test/FluentEmail.Mailgun.Tests/logotest.png diff --git a/src/FluentEmail.Core/Models/Attachment.cs b/src/FluentEmail.Core/Models/Attachment.cs index deb1fa1d..292adddd 100644 --- a/src/FluentEmail.Core/Models/Attachment.cs +++ b/src/FluentEmail.Core/Models/Attachment.cs @@ -8,6 +8,10 @@ namespace FluentEmail.Core.Models { public class Attachment { + /// + /// Gets or sets whether the attachment is intended to be used for inline images (changes the paramater name for providers such as MailGun) + /// + public bool IsInline { get; set; } public string Filename { get; set; } public Stream Data { get; set; } public string ContentType { get; set; } diff --git a/src/Senders/FluentEmail.Mailgun/MailgunSender.cs b/src/Senders/FluentEmail.Mailgun/MailgunSender.cs index 07f0b26c..15db549c 100644 --- a/src/Senders/FluentEmail.Mailgun/MailgunSender.cs +++ b/src/Senders/FluentEmail.Mailgun/MailgunSender.cs @@ -63,9 +63,16 @@ public async Task SendAsync(Email email, CancellationToken? token var files = new List(); email.Data.Attachments.ForEach(x => { + string param; + + if (x.IsInline) + param = "inline"; + else + param = "attachment"; + files.Add(new HttpFile() { - ParameterName = "attachment", + ParameterName = param, Data = x.Data, Filename = x.Filename, ContentType = x.ContentType diff --git a/test/FluentEmail.Mailgun.Tests/FluentEmail.Mailgun.Tests.csproj b/test/FluentEmail.Mailgun.Tests/FluentEmail.Mailgun.Tests.csproj index 307b28db..aea73549 100644 --- a/test/FluentEmail.Mailgun.Tests/FluentEmail.Mailgun.Tests.csproj +++ b/test/FluentEmail.Mailgun.Tests/FluentEmail.Mailgun.Tests.csproj @@ -6,6 +6,14 @@ FluentEmail.Mailgun.Tests + + + + + + + + diff --git a/test/FluentEmail.Mailgun.Tests/MailgunSenderTests.cs b/test/FluentEmail.Mailgun.Tests/MailgunSenderTests.cs index 103b400e..349dc2d8 100644 --- a/test/FluentEmail.Mailgun.Tests/MailgunSenderTests.cs +++ b/test/FluentEmail.Mailgun.Tests/MailgunSenderTests.cs @@ -3,6 +3,7 @@ using FluentEmail.Core; using FluentEmail.Core.Models; using NUnit.Framework; +using System.Reflection; namespace FluentEmail.Mailgun.Tests { @@ -61,5 +62,35 @@ public async Task CanSendEmailWithAttachments() Assert.IsTrue(response.Successful); } + + [Test] + public async Task CanSendEmailWithInlineImages() + { + var assembly = Assembly.GetExecutingAssembly(); + var stream = assembly.GetManifestResourceStream(assembly.GetName().Name + ".logotest.png"); + stream.Flush(); + + stream.Seek(0, SeekOrigin.Begin); + + var attachment = new Attachment() + { + //Inline = true, + Data = stream, + ContentType = "image/png", + Filename = "logotest.png" + }; + + var email = Email + .From(fromEmail) + .To(toEmail) + .Subject(subject) + .Body("Inline image here: " + + "

You should see an image without an attachment, or without a download prompt, dependig on the email client.

", true) + .Attach(attachment); + + var response = await email.SendAsync(); + + Assert.IsTrue(response.Successful); + } } } \ No newline at end of file diff --git a/test/FluentEmail.Mailgun.Tests/logotest.png b/test/FluentEmail.Mailgun.Tests/logotest.png new file mode 100644 index 0000000000000000000000000000000000000000..c8261fce749937dcd1d459f66b300884ef0111a6 GIT binary patch literal 11390 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 Date: Mon, 27 Nov 2017 16:30:17 -0700 Subject: [PATCH 2/2] Minor fix for MailGun inline image test --- test/FluentEmail.Mailgun.Tests/MailgunSenderTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/FluentEmail.Mailgun.Tests/MailgunSenderTests.cs b/test/FluentEmail.Mailgun.Tests/MailgunSenderTests.cs index 349dc2d8..ac45a795 100644 --- a/test/FluentEmail.Mailgun.Tests/MailgunSenderTests.cs +++ b/test/FluentEmail.Mailgun.Tests/MailgunSenderTests.cs @@ -74,7 +74,7 @@ public async Task CanSendEmailWithInlineImages() var attachment = new Attachment() { - //Inline = true, + IsInline = true, Data = stream, ContentType = "image/png", Filename = "logotest.png"