diff --git a/src/Services/e-sender/O2NextGen.ESender.Api/Controllers/EmailSenderController.cs b/src/Services/e-sender/O2NextGen.ESender.Api/Controllers/EmailSenderController.cs index 7c0a7c05..3001cd27 100644 --- a/src/Services/e-sender/O2NextGen.ESender.Api/Controllers/EmailSenderController.cs +++ b/src/Services/e-sender/O2NextGen.ESender.Api/Controllers/EmailSenderController.cs @@ -1,13 +1,20 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Mvc; +using O2NextGen.ESender.Api.Helpers; using O2NextGen.ESender.Api.Models; namespace O2NextGen.ESender.Api.Controllers { [Route("emailsender")] public class EmailSenderController : Controller - { + { + private readonly IEmailSender _emailSender; + + public EmailSenderController(IEmailSender emailSender) + { + _emailSender = emailSender; + } private static long _currentCertificateId = 1; private static List _mailLetters = new List() @@ -59,6 +66,7 @@ public IActionResult CreateReally(MailViewModel model) { model.Id = _currentCertificateId++; _mailLetters.Add(model); + _emailSender.Send(model.To, model.Subject, model.Body); return RedirectToAction("Index"); } } diff --git a/src/Services/e-sender/O2NextGen.ESender.Api/Helpers/EmailSender.cs b/src/Services/e-sender/O2NextGen.ESender.Api/Helpers/EmailSender.cs index a17f3369..3c11bdc4 100644 --- a/src/Services/e-sender/O2NextGen.ESender.Api/Helpers/EmailSender.cs +++ b/src/Services/e-sender/O2NextGen.ESender.Api/Helpers/EmailSender.cs @@ -1,15 +1,20 @@ using System.Net.Mail; using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using O2NextGen.ESender.Api.Setup; namespace O2NextGen.ESender.Api.Helpers { - public class EmailSender + public class EmailSender : IEmailSender { - public EmailSender() + private readonly ILogger _logger; + + public EmailSender(SenderConfig senderConfig,ILogger logger) { + _logger = logger; SmtpServerHost = "localhost"; SmtpServerPort = 25; - From="example@example.com"; + From= "support@pfr-centr.com"; } public string From { get; set; } @@ -25,14 +30,21 @@ public async Task Send(string to, string subject, string bodyHtml) client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = SmtpServerHost; client.Port = SmtpServerPort; + //client.Credentials = new System.Net.NetworkCredential("support@pfr-centr.com", "password"); + _logger.LogInformation($">> Settings for email server host={client.Host} port={client.Port}"); using (var message = new MailMessage(From, to)) { message.Subject = subject; message.IsBodyHtml = true; message.Body = bodyHtml; + _logger.LogInformation($">> Send email to={to} subject={subject} message={message}"); await client.SendMailAsync(message).ConfigureAwait(false); } } } } + public interface IEmailSender + { + Task Send(string to, string subject, string bodyHtml); + } } \ No newline at end of file diff --git a/src/Services/e-sender/O2NextGen.ESender.Api/Startup.cs b/src/Services/e-sender/O2NextGen.ESender.Api/Startup.cs index 85591c25..927a8519 100644 --- a/src/Services/e-sender/O2NextGen.ESender.Api/Startup.cs +++ b/src/Services/e-sender/O2NextGen.ESender.Api/Startup.cs @@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using O2NextGen.ESender.Api.Helpers; using O2NextGen.ESender.Api.IoC; using O2NextGen.ESender.Api.Setup; @@ -21,6 +22,7 @@ public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.ConfigurePOCO(AppConfiguration.GetSection("Sender")); + services.AddSingleton(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) diff --git a/src/Services/e-sender/O2NextGen.ESender.Api/appsettings.json b/src/Services/e-sender/O2NextGen.ESender.Api/appsettings.json index aeed1695..3c267c67 100644 --- a/src/Services/e-sender/O2NextGen.ESender.Api/appsettings.json +++ b/src/Services/e-sender/O2NextGen.ESender.Api/appsettings.json @@ -26,9 +26,9 @@ }, "AllowedHosts": "*", "Sender": { - "SmtpServerHost": "", - "SmtpServerPort": "", - "From": "" + "SmtpServerHost": "localhost", + "SmtpServerPort": "25", + "From": "support@pfr-centr.com" } }