Make available ActivityExecutionContext to Smtp Service

This commit is contained in:
Sipke Schoorstra 2021-06-17 16:58:08 +02:00
parent 0c1d18fe90
commit c1575715f4
3 changed files with 7 additions and 5 deletions

View file

@ -78,8 +78,8 @@ namespace Elsa.Activities.Email
var cancellationToken = context.CancellationToken;
var message = new MimeMessage();
var from = string.IsNullOrWhiteSpace(From) ? _options.DefaultSender : From;
message.From.Add(MailboxAddress.Parse(from));
message.Sender = MailboxAddress.Parse(from);
message.Subject = Subject;
var bodyBuilder = new BodyBuilder { HtmlBody = Body };
@ -91,7 +91,7 @@ namespace Elsa.Activities.Email
SetRecipientsEmailAddresses(message.Cc, Cc);
SetRecipientsEmailAddresses(message.Bcc, Bcc);
await _smtpService.SendAsync(message, context.CancellationToken);
await _smtpService.SendAsync(context, message, context.CancellationToken);
return Done();
}

View file

@ -1,11 +1,12 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.Services.Models;
using MimeKit;
namespace Elsa.Activities.Email.Services
{
public interface ISmtpService
{
Task SendAsync(MimeMessage message, CancellationToken cancellationToken);
Task SendAsync(ActivityExecutionContext context, MimeMessage message, CancellationToken cancellationToken);
}
}

View file

@ -5,6 +5,7 @@ using System.Security.Cryptography.X509Certificates;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.Email.Options;
using Elsa.Services.Models;
using MailKit.Net.Smtp;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
@ -27,7 +28,7 @@ namespace Elsa.Activities.Email.Services
_logger = logger;
}
public async Task SendAsync(MimeMessage message, CancellationToken cancellationToken)
public async Task SendAsync(ActivityExecutionContext context, MimeMessage message, CancellationToken cancellationToken)
{
switch (_options.DeliveryMethod)
{