diff --git a/src/DigitalData.EmailProfiler.Application/Common/Interfaces/IDmsService.cs b/src/DigitalData.EmailProfiler.Application/Common/Interfaces/IDmsService.cs
deleted file mode 100644
index 42963e3..0000000
--- a/src/DigitalData.EmailProfiler.Application/Common/Interfaces/IDmsService.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace DigitalData.EmailProfiler.Application.Common.Interfaces;
-
-///
-/// DMS service interface for windream integration.
-///
-public interface IDmsService
-{
- Task ImportDocumentAsync(string filePath, string objectType, Dictionary metadata, CancellationToken cancellationToken = default);
- Task DocumentExistsAsync(string documentId, CancellationToken cancellationToken = default);
- Task UpdateMetadataAsync(string documentId, Dictionary metadata, CancellationToken cancellationToken = default);
-}
diff --git a/src/DigitalData.EmailProfiler.Application/Common/Interfaces/IEmailService.cs b/src/DigitalData.EmailProfiler.Application/Common/Interfaces/IEmailService.cs
index 4188635..31f9452 100644
--- a/src/DigitalData.EmailProfiler.Application/Common/Interfaces/IEmailService.cs
+++ b/src/DigitalData.EmailProfiler.Application/Common/Interfaces/IEmailService.cs
@@ -3,14 +3,16 @@ using DigitalData.EmailProfiler.Application.Common.Dtos;
namespace DigitalData.EmailProfiler.Application.Common.Interfaces;
///
-/// Email service interface for IMAP/SMTP operations.
-/// Implementation uses MailKit.
-/// Throws AuthenticationFailedException when OAuth2/password auth fails.
+/// Email service interface for SMTP operations.
+/// Implementation uses Limilabs Mail.dll for production email sending.
+/// SMTP configuration is injected via IOptions<EmailAccountDto> in appsettings.json.
+/// Throws AuthenticationFailedException when SMTP authentication fails.
///
public interface IEmailService
{
- Task> ReceiveEmailsAsync(EmailAccountDto account, CancellationToken cancellationToken = default);
- Task SendEmailAsync(EmailAccountDto account, string to, string subject, string body, bool isHtml = true, CancellationToken cancellationToken = default);
- Task DeleteEmailAsync(EmailAccountDto account, int imapUid, CancellationToken cancellationToken = default);
- Task GetOAuth2TokenAsync(string tenantId, string clientId, string clientSecret, CancellationToken cancellationToken = default);
+ ///
+ /// Sends an email using the configured SMTP account.
+ /// SMTP credentials are configured in appsettings.json (EmailAccount section).
+ ///
+ Task SendEmailAsync(string to, string subject, string body, bool isHtml = true, CancellationToken cancellationToken = default);
}
diff --git a/src/DigitalData.EmailProfiler.Infrastructure/Services/MailKitEmailService.cs b/src/DigitalData.EmailProfiler.Infrastructure/Services/MailKitEmailService.cs
deleted file mode 100644
index 4b5e78e..0000000
--- a/src/DigitalData.EmailProfiler.Infrastructure/Services/MailKitEmailService.cs
+++ /dev/null
@@ -1,259 +0,0 @@
-using DigitalData.EmailProfiler.Application.Common.Dtos;
-using DigitalData.EmailProfiler.Application.Common.Interfaces;
-using DigitalData.EmailProfiler.Domain.Exceptions;
-using MailKit;
-using MailKit.Net.Imap;
-using MailKit.Net.Smtp;
-using MailKit.Search;
-using MailKit.Security;
-using Microsoft.Identity.Client;
-using MimeKit;
-
-namespace DigitalData.EmailProfiler.Infrastructure.Services;
-
-///
-/// Email service using MailKit/MimeKit for IMAP/SMTP operations.
-/// Supports OAuth2 authentication via Microsoft.Identity.Client (MSAL).
-///
-public class MailKitEmailService(IEncryptionService encryptionService) : IEmailService
-{
- private readonly IEncryptionService _encryptionService = encryptionService;
-
- public async Task> ReceiveEmailsAsync(
- EmailAccountDto account,
- CancellationToken cancellationToken = default)
- {
- using var imap = new ImapClient();
-
- try
- {
- await ConnectAndAuthenticateImapAsync(imap, account, cancellationToken);
-
- var inbox = imap.Inbox;
- await inbox.OpenAsync(FolderAccess.ReadWrite, cancellationToken);
-
- var uids = await inbox.SearchAsync(SearchQuery.NotSeen, cancellationToken);
- var messages = new List