diff --git a/backend/extensions/Squidex.Extensions/Actions/Email/EmailActionHandler.cs b/backend/extensions/Squidex.Extensions/Actions/Email/EmailActionHandler.cs index 100efaf4d..c4c4fb196 100644 --- a/backend/extensions/Squidex.Extensions/Actions/Email/EmailActionHandler.cs +++ b/backend/extensions/Squidex.Extensions/Actions/Email/EmailActionHandler.cs @@ -43,20 +43,22 @@ namespace Squidex.Extensions.Actions.Email protected override async Task ExecuteJobAsync(EmailJob job, CancellationToken ct = default) { - using (var client = new SmtpClient(job.ServerHost, job.ServerPort)) + using (var client = new SmtpClient(job.ServerHost, job.ServerPort) { - client.EnableSsl = job.ServerUseSsl; - client.Credentials = new NetworkCredential(job.ServerUsername, job.ServerPassword); + Credentials = new NetworkCredential( + job.ServerUsername, + job.ServerPassword), - using (var message = new MailMessage(job.MessageFrom, job.MessageTo)) + EnableSsl = job.ServerUseSsl + }) + { + using (ct.Register(client.SendAsyncCancel)) { - message.Subject = job.MessageSubject; - message.Body = job.MessageBody; - - using (ct.Register(client.SendAsyncCancel)) - { - await client.SendMailAsync(message); - } + await client.SendMailAsync( + job.MessageBody, + job.MessageBody, + job.MessageSubject, + job.MessageBody); } } diff --git a/backend/src/Squidex.Infrastructure/Email/SmtpEmailSender.cs b/backend/src/Squidex.Infrastructure/Email/SmtpEmailSender.cs index 70242cdfd..e73b87dc2 100644 --- a/backend/src/Squidex.Infrastructure/Email/SmtpEmailSender.cs +++ b/backend/src/Squidex.Infrastructure/Email/SmtpEmailSender.cs @@ -16,29 +16,28 @@ namespace Squidex.Infrastructure.Email [ExcludeFromCodeCoverage] public sealed class SmtpEmailSender : IEmailSender { - private readonly SmtpClient smtpClient; - private readonly string sender; + private readonly SmptOptions options; public SmtpEmailSender(IOptions options) { Guard.NotNull(options); - var config = options.Value; + this.options = options.Value; + } - smtpClient = new SmtpClient(config.Server, config.Port) + public async Task SendAsync(string recipient, string subject, string body) + { + using (var smtpClient = new SmtpClient(options.Server, options.Port) { Credentials = new NetworkCredential( - config.Username, - config.Password), - EnableSsl = config.EnableSsl - }; - - sender = config.Sender; - } + options.Username, + options.Password), - public Task SendAsync(string recipient, string subject, string body) - { - return smtpClient.SendMailAsync(sender, recipient, subject, body); + EnableSsl = options.EnableSsl + }) + { + await smtpClient.SendMailAsync(options.Sender, recipient, subject, body); + } } } }