public GeneralResultDTO SubmitRequestAccessForm(string email)
        {
            #region Validation

            if (string.IsNullOrWhiteSpace(email))
            {
                return(new GeneralResultDTO {
                    success = false, errorMessage = ResHelper.GetString("Kadena.RequestAccess.EmailIsEmpty", LocalizationContext.CurrentCulture.CultureCode)
                });
            }
            if (!MailValidator.IsValid(email))
            {
                return(new GeneralResultDTO {
                    success = false, errorMessage = ResHelper.GetString("Kadena.RequestAccess.EmailIsNotValid", LocalizationContext.CurrentCulture.CultureCode)
                });
            }

            #endregion

            return(SubmitRequestAccessFormInternal(email));
        }
예제 #2
0
        public ValidationFieldResult Validate()
        {
            if (string.IsNullOrWhiteSpace(LoginEmail))
            {
                return(new ValidationFieldResult {
                    Name = "loginEmail", Error = "Kadena.Logon.LoginEmailEmpty"
                });
            }
            if (string.IsNullOrWhiteSpace(Password))
            {
                return(new ValidationFieldResult {
                    Name = "password", Error = "Kadena.Logon.LoginEmailEmpty"
                });
            }
            if (!MailValidator.IsValid(LoginEmail))
            {
                return(new ValidationFieldResult {
                    Name = "loginEmail", Error = "Kadena.Logon.InvalidEmail"
                });
            }

            return(null);
        }
예제 #3
0
        /// <summary>
        /// Выполнит рассылку указанным адресатам.
        /// </summary>
        /// <param name="mailFrom">Адрес отправителя.</param>
        /// <param name="recipients">Адреса получателей.</param>
        /// <param name="body">Текст сообщения.</param>
        /// <param name="subject">Тема сообщения.</param>
        public async Task SendAsync(string mailFrom, string[] recipients, string body, string subject)
        {
            if (string.IsNullOrEmpty(mailFrom))
            {
                throw new ArgumentNullException(nameof(mailFrom), $"Необходимо указать адрес отправителя.");
            }

            if (!MailValidator.IsValid(mailFrom))
            {
                throw new ArgumentNullException(nameof(mailFrom), $"Адрес отправителя {mailFrom} указан не верно.");
            }

            if (recipients == null || recipients.Length == 0)
            {
                throw new ArgumentNullException(nameof(recipients), $"Необходимо указать как минимум одного получателя.");
            }

            foreach (var recipient in recipients)
            {
                if (!MailValidator.IsValid(recipient))
                {
                    throw new ArgumentNullException(nameof(recipient), $"Адрес получателя {recipient} указан не верно.");
                }
            }

            if (string.IsNullOrEmpty(body))
            {
                throw new ArgumentNullException(nameof(body), $"Необходимо указать сообщение.");
            }

            if (string.IsNullOrEmpty(subject))
            {
                throw new ArgumentNullException(nameof(subject), $"Необходимо указать тему сообщения.");
            }

            var mimeMessage = new MimeMessage();

            mimeMessage.From.Add(new MailboxAddress(mailFrom));
            foreach (var recipient in recipients)
            {
                mimeMessage.To.Add(new MailboxAddress(recipient));
            }
            mimeMessage.Subject = subject;

            var builder = new BodyBuilder
            {
                HtmlBody = body
            };

            mimeMessage.Body = builder.ToMessageBody();

            using (var client = new SmtpClient())
            {
                await client.ConnectAsync(_smtpSettings.Host, _smtpSettings.Port, _smtpSettings.UseSsl);

                await client.AuthenticateAsync(_smtpSettings.UserName, _smtpSettings.Password);

                await client.SendAsync(mimeMessage);

                await client.DisconnectAsync(true);
            }
        }
예제 #4
0
        public void IsValid_Correct_Data_AssertTrue()
        {
            MailValidator val = new MailValidator();

            Assert.True(val.IsValid("*****@*****.**"));
        }