From f14f7671d0791e4e389ba74296b03a30b25c77a2 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 25 Dec 2024 10:45:22 +0800 Subject: [PATCH 1/2] Use `MailAddressCollection` class to validate the email address. Resolve #21719 --- .../Volo/Abp/Emailing/EmailSenderBase.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs index dacbb195ab..35bcee32e0 100644 --- a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs +++ b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs @@ -176,13 +176,16 @@ public abstract class EmailSenderBase : IEmailSender } } - private static void ValidateEmailAddress(string emailAddress) + protected virtual Task ValidateEmailAddress(string emailAddress) { - if(ValidationHelper.IsValidEmailAddress(emailAddress)) + try { - return; + _ = new MailAddressCollection { emailAddress }; + return Task.CompletedTask; + } + catch (Exception e) + { + throw new ArgumentException($"Email address '{emailAddress}' is not valid!"); } - - throw new ArgumentException($"Email address '{emailAddress}' is not valid!"); } } From 152f7c221253d15b2ea7a0ad56441f131de8ec34 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 25 Dec 2024 10:48:42 +0800 Subject: [PATCH 2/2] Rename to `ValidateEmailAddressAsync`. --- .../Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs index 35bcee32e0..4f07c8a1c5 100644 --- a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs +++ b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSenderBase.cs @@ -92,7 +92,7 @@ public abstract class EmailSenderBase : IEmailSender public virtual async Task QueueAsync(string to, string subject, string body, bool isBodyHtml = true, AdditionalEmailSendingArgs? additionalEmailSendingArgs = null) { - ValidateEmailAddress(to); + await ValidateEmailAddressAsync(to); if (!BackgroundJobManager.IsAvailable()) { @@ -115,7 +115,7 @@ public abstract class EmailSenderBase : IEmailSender public virtual async Task QueueAsync(string from, string to, string subject, string body, bool isBodyHtml = true, AdditionalEmailSendingArgs? additionalEmailSendingArgs = null) { - ValidateEmailAddress(to); + await ValidateEmailAddressAsync(to); if (!BackgroundJobManager.IsAvailable()) { @@ -176,7 +176,7 @@ public abstract class EmailSenderBase : IEmailSender } } - protected virtual Task ValidateEmailAddress(string emailAddress) + protected virtual Task ValidateEmailAddressAsync(string emailAddress) { try {