diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml index 85cf51b4..4ed7ebf5 100644 --- a/RMuseum/RMuseum.xml +++ b/RMuseum/RMuseum.xml @@ -3710,11 +3710,6 @@ - - - SmptConfig - - manipulating picture files diff --git a/RMuseum/Services/Implementation/MailKitEmailSender.cs b/RMuseum/Services/Implementation/MailKitEmailSender.cs deleted file mode 100644 index 8b858e37..00000000 --- a/RMuseum/Services/Implementation/MailKitEmailSender.cs +++ /dev/null @@ -1,33 +0,0 @@ -using RSecurityBackend.Models.Mail; -using RSecurityBackend.Services.Implementation; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace RMuseum.Services.Implementation -{ - public class MailKitEmailSender : MailKitEmailSenderBase - { - /// - /// SmptConfig - /// - public override SmptConfig SmptConfig - { - get - { - return - new SmptConfig() - { - port = 25, - server = "ganjgah.ir", - smtpUsername = "noreply@ganjgah.ir", - smtpPassword = "sahY%6&$OnD67i0978", - from = "noreply@ganjgah.ir", - useSsl = false - }; - } - } - } - -} diff --git a/RMuseum/appsettings.json b/RMuseum/appsettings.json index 8e7270f1..5405574b 100644 --- a/RMuseum/appsettings.json +++ b/RMuseum/appsettings.json @@ -25,5 +25,14 @@ "Secret": "k4Fy7pDsc0LgXQ8PCCfZtwmju5Ed8asc", "DefaultTokenExpirationInSeconds": "2502000" }, - "AllowedHosts": "*" - } + "SmptConfig": { + "Server": "smtp.gmail.com", + "Port": "465", + "UseSsl": "true", + "Username": "test@gmail.com", + "Password": "password", + "From": "test@gmail.com" + }, + + "AllowedHosts": "*" +} diff --git a/RSecurityBackend/RSecurityBackend.xml b/RSecurityBackend/RSecurityBackend.xml index df14a63e..7f5fbf08 100644 --- a/RSecurityBackend/RSecurityBackend.xml +++ b/RSecurityBackend/RSecurityBackend.xml @@ -2571,27 +2571,33 @@ - + mail sender using MailKit - + constructor + - + + + Configuration + + + options - + SmptConfig - + send email @@ -2600,7 +2606,7 @@ - + diff --git a/RSecurityBackend/Services/Implementation/MailKitEmailSenderBase.cs b/RSecurityBackend/Services/Implementation/MailKitEmailSender.cs similarity index 64% rename from RSecurityBackend/Services/Implementation/MailKitEmailSenderBase.cs rename to RSecurityBackend/Services/Implementation/MailKitEmailSender.cs index 3c97f607..07929f5a 100644 --- a/RSecurityBackend/Services/Implementation/MailKitEmailSenderBase.cs +++ b/RSecurityBackend/Services/Implementation/MailKitEmailSender.cs @@ -1,6 +1,6 @@ using MailKit.Net.Smtp; using Microsoft.AspNetCore.Identity.UI.Services; -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Configuration; using MimeKit; using RSecurityBackend.Models.Mail; using System.Threading.Tasks; @@ -10,38 +10,55 @@ namespace RSecurityBackend.Services.Implementation /// /// mail sender using MailKit /// - public class MailKitEmailSenderBase : IEmailSender + public class MailKitEmailSender : IEmailSender { /// /// constructor /// - public MailKitEmailSenderBase() + /// + public MailKitEmailSender(IConfiguration configuration) { + Configuration = configuration; Options = SmptConfig; + } + /// + /// Configuration + /// + protected IConfiguration Configuration { get; } + /// /// options /// public SmptConfig Options { get; } //set only via Secret Manager + + private SmptConfig _SmptConfig = null; + /// /// SmptConfig /// - public virtual SmptConfig SmptConfig + public SmptConfig SmptConfig { get { - return - new SmptConfig() - { - port = 465, - server = "smtp.gmail.com", - smtpUsername = "nonexistingganjoor@gmail.com", - smtpPassword = "APasswordHere", - from = "nonexistingganjoor@gmail.com", - useSsl = true - }; + if (_SmptConfig == null) + { + _SmptConfig = + new SmptConfig() + { + server = $"{Configuration.GetSection("SmptConfig")["Server"]}", + port = int.Parse($"{Configuration.GetSection("SmptConfig")["Port"]}"), + useSsl = bool.Parse($"{Configuration.GetSection("SmptConfig")["UseSsl"]}"), + smtpUsername = $"{ Configuration.GetSection("SmptConfig")["Username"] }", + smtpPassword = $"{Configuration.GetSection("SmptConfig")["Password"]}", + from = $"{ Configuration.GetSection("SmptConfig")["From"] }" + + }; + } + return _SmptConfig; + } }