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;
+
}
}