From 779524cdc4663c7b6b2b6f09fd4d25f792992bf2 Mon Sep 17 00:00:00 2001 From: emrecoskun705 Date: Sun, 10 Sep 2023 10:57:03 +0300 Subject: [PATCH] add confirmation email template and add isbodyhtml variable --- .../Contracts/Email/IEmailSender.cs | 2 +- .../Models/Email/ConfirmationEmailTemplate.cs | 48 +++++++++++++++++++ .../EmailService/EmailSender.cs | 26 +++++----- 3 files changed, 62 insertions(+), 14 deletions(-) create mode 100644 Unitagram.Application/Models/Email/ConfirmationEmailTemplate.cs diff --git a/Unitagram.Application/Contracts/Email/IEmailSender.cs b/Unitagram.Application/Contracts/Email/IEmailSender.cs index cfde20c..55ad51e 100644 --- a/Unitagram.Application/Contracts/Email/IEmailSender.cs +++ b/Unitagram.Application/Contracts/Email/IEmailSender.cs @@ -4,5 +4,5 @@ namespace Unitagram.Application.Contracts.Email; public interface IEmailSender { - Task SendEmail(EmailMessage email); + Task SendEmail(EmailMessage email, bool isBodyHtml = false); } \ No newline at end of file diff --git a/Unitagram.Application/Models/Email/ConfirmationEmailTemplate.cs b/Unitagram.Application/Models/Email/ConfirmationEmailTemplate.cs new file mode 100644 index 0000000..128ec67 --- /dev/null +++ b/Unitagram.Application/Models/Email/ConfirmationEmailTemplate.cs @@ -0,0 +1,48 @@ +namespace Unitagram.Application.Models.Email; + +public static class ConfirmationEmailTemplate +{ + public static EmailMessage ToEmailMessage(string to, string code) + { + return new EmailMessage + { + To = to, + Subject = "Hesap Onay Kodunuz: Unitagram", + Body = $""" + + + + + + E-posta Onayı + + + + + + + + + + + + + + + +
+

E-posta Onayı

+
+

Uygulamamıza kaydınız için teşekkür ederiz. Kaydınızı tamamlamak için lütfen aşağıdaki 6 haneli kodu girin:

+

{code}

+
+

Eğer bu kodu istememişseniz, bu e-postayı dikkate almayınız.

+
+

Unitagram'ı seçtiğiniz için teşekkür ederiz!

+
+ + + """ + }; + } +} \ No newline at end of file diff --git a/Unitagram.Infrastructure/EmailService/EmailSender.cs b/Unitagram.Infrastructure/EmailService/EmailSender.cs index 3f0700b..0569542 100644 --- a/Unitagram.Infrastructure/EmailService/EmailSender.cs +++ b/Unitagram.Infrastructure/EmailService/EmailSender.cs @@ -19,24 +19,24 @@ public EmailSender(IOptions emailSettings, IAppLogger SendEmail(EmailMessage emailMessage) + public Task SendEmail(EmailMessage emailMessage, bool isBodyHtml = false) { try { - using (SmtpClient smtpClient = new SmtpClient(_emailSettings.SmtpServer, _emailSettings.SmtpPort)) - { - smtpClient.Credentials = new NetworkCredential(_emailSettings.Email, _emailSettings.Password); - smtpClient.EnableSsl = true; // Enable SSL encryption + using SmtpClient smtpClient = new SmtpClient(_emailSettings.SmtpServer, _emailSettings.SmtpPort); + smtpClient.Credentials = new NetworkCredential(_emailSettings.Email, _emailSettings.Password); + smtpClient.EnableSsl = true; // Enable SSL encryption - MailMessage mail = new MailMessage(); - mail.From = new MailAddress(_emailSettings.Email); - mail.To.Add(emailMessage.To); - mail.Subject = emailMessage.Subject; - mail.Body = emailMessage.Body; + MailMessage mail = new MailMessage(); + mail.From = new MailAddress(_emailSettings.Email); + mail.To.Add(emailMessage.To); + mail.Subject = emailMessage.Subject; + mail.Body = emailMessage.Body; - smtpClient.Send(mail); - return Task.FromResult(true); - } + mail.IsBodyHtml = isBodyHtml; + + smtpClient.Send(mail); + return Task.FromResult(true); } catch (Exception ex) {