aboutsummaryrefslogtreecommitdiffstats
path: root/src/Services/EmailService.cs
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-06-01 21:13:43 +0200
committerivarlovlie <git@ivarlovlie.no>2022-06-01 21:13:43 +0200
commit9383a2fb09ffb60cfe63683106945bd688affa59 (patch)
tree65b3f4b48841583e355887db5de5a16e7005fc87 /src/Services/EmailService.cs
downloadvinjesvingenhandel.no-9383a2fb09ffb60cfe63683106945bd688affa59.tar.xz
vinjesvingenhandel.no-9383a2fb09ffb60cfe63683106945bd688affa59.zip
feat: Initial commit after clean slate
Diffstat (limited to 'src/Services/EmailService.cs')
-rw-r--r--src/Services/EmailService.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/Services/EmailService.cs b/src/Services/EmailService.cs
new file mode 100644
index 0000000..d5098e0
--- /dev/null
+++ b/src/Services/EmailService.cs
@@ -0,0 +1,45 @@
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Logging;
+
+namespace VSH.Services;
+
+public class EmailService
+{
+ private readonly string _sendGridApiKey;
+ private readonly string _fromAddress;
+ private readonly string _fromName;
+ private readonly string _replyToAddress;
+ private readonly ILogger<EmailService> _logger;
+
+ public EmailService(IConfiguration configuration, ILogger<EmailService> logger) {
+ _sendGridApiKey = configuration.GetValue<string>("SENDGRID_API_KEY");
+ _fromAddress = configuration.GetValue<string>("MAIL_FROM_ADDRESS");
+ _replyToAddress = configuration.GetValue<string>("MAIL_REPLY_TO_ADDRESS");
+ _fromName = configuration.GetValue<string>("MAIL_FROM_NAME");
+ _logger = logger;
+ }
+
+ public async Task<bool> SendEmailAsync(
+ string subject,
+ string message,
+ IEnumerable<string> recipients
+ ) {
+ foreach (var recipient in recipients) {
+ if (!await SendEmailAsync(subject, message, recipient)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public Task<bool> SendEmailAsync(
+ string subject,
+ string message,
+ string recipient
+ ) {
+ return Task.FromResult(false);
+ }
+}