public DetectedProviderDTO DetectProviderFromEmailAddress(string emailAddress)
        {
            // validating the input parameter (mail address)
            if (!MailValidator.IsValidEmail(emailAddress))
            {
                throw new ApplicationException("Invalid e-mail format");
            }
            DetectedProviderDTO detectedProvider = new DetectedProviderDTO();

            detectedProvider.EmailAddress = emailAddress;

            //get the name of the host from the email address
            var address = emailAddress.Split("@")[1];

            // with DnsResolver we search from the Mx records to see what mail exchange server is responsible
            var resolver = new DnsStubResolver();
            var records  = resolver.Resolve <MxRecord>(address, RecordType.Mx);

            List <string> exchangeDomainServersResult = new List <string>();

            foreach (var record in records)
            {
                exchangeDomainServersResult.Add(record.ExchangeDomainName?.ToString());
            }

            var providerName = ProvidersInfo.GetProviderNameByExchangeName(exchangeDomainServersResult);

            detectedProvider.ProviderName = providerName;

            return(detectedProvider);
        }
Exemple #2
0
        public RegisterUserResponse RegisterUser(RegisterUserRequest request)
        {
            var checkUser = _context.Client.Any(p => p.Login.Equals(request.Login) || p.Email.Equals(request.Email));

            if (checkUser)
            {
                throw new UserExistsException();
            }
            if (!MailValidator.IsValidMail(request.Email))
            {
                throw new InvalidMail();
            }

            var salt       = SaltGenerator.GenerateSalt();
            var hashedPass = HashPassword.HashPass(request.Password, salt);

            var client = new Client()
            {
                FirstName = request.FirstName,
                LastName  = request.LastName,
                Email     = request.Email,
                Phone     = request.Phone,
                Login     = request.Login,
                Password  = hashedPass,
                Salt      = salt
            };

            var userclaim = new[]
            {
                new Claim(ClaimTypes.NameIdentifier, Convert.ToString(client.IdClient)),
                new Claim(ClaimTypes.Name, request.FirstName),
                new Claim(ClaimTypes.Role, "Client")
            };

            var key   = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["SecretKey"]));
            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            var token = new JwtSecurityToken(
                issuer: "AdCompany",
                audience: "Clients",
                claims: userclaim,
                expires: DateTime.Now.AddMinutes(5),
                signingCredentials: creds
                );

            client.RefreshToken = Guid.NewGuid().ToString();
            client.ExpireDate   = DateTime.Now.AddDays(1);

            _context.Client.Add(client);
            _context.SaveChanges();

            return(new RegisterUserResponse()
            {
                AccessToken = new JwtSecurityTokenHandler().WriteToken(token), RefreshToken = client.RefreshToken
            });
        }
Exemple #3
0
        private void Create_Click(object sender, RoutedEventArgs e)
        {
            var companyName = NameBox.Text;
            var nip         = NipBox.Text;
            var email       = EmailBox.Text;
            var street      = StreetBox.Text;
            var city        = CityBox.Text;
            var country     = CountryBox.Text;
            var zipCode     = ZipCodeBox.Text;
            var phone       = PhoneBox.Text;

            var nameValidator  = new NameValidator();
            var nipValidator   = new NipValidator();
            var mailValidator  = new MailValidator();
            var phoneValidator = new PhoneValidator();

            if (!nameValidator.ValidateName(companyName))
            {
                MessageBox.Show("Podałeś niedozwoloną nazwę firmy");
            }
            else if (!nipValidator.ValidateNip(nip))
            {
                MessageBox.Show("Podałeś nieprawidłowy nip");
            }
            else if (!mailValidator.ValidateMail(email))
            {
                MessageBox.Show("Podałeś nieprawidłowy adres Email");
            }

            else if (string.IsNullOrEmpty(street) || string.IsNullOrEmpty(zipCode) || string.IsNullOrEmpty(country) ||
                     string.IsNullOrEmpty(city))
            {
                MessageBox.Show("Pole adresowe nie może być puste");
            }


            else
            {
                var account        = new BankAccount();
                var companyAccount = new CompanyAccount(companyName, nip, email, zipCode, country,
                                                        phone, city, street, account)
                {
                    BankAccount = { Balance = 0.0 }
                };

                var filePath  = Environment.CurrentDirectory + @"\" + "Company_Accounts.xml";
                var listToXml = new ListToXml();
                listToXml.CompanyAccounts(companyAccount, filePath);
                Close();
            }
        }
Exemple #4
0
    /// <summary>
    ///     Last step button event handler
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSignup_OnClick(object sender, EventArgs e)
    {
        if (txtEmail.Text != "" && txtName.Text != "" && txtPassword.Text != "")
        {
            if (MailValidator.EmailIsValid(txtEmail.Text))
            {
                if (!_myFunction.CheckUserExist(txtName.Text.ToLower().Trim()))
                {
                    _myFunction.AddSignIn(txtName.Text.ToLower().Trim(), txtEmail.Text.ToLower().Trim(),
                                          ImageUpload().Item1, ImageUpload().Item2, _ghgNumber);
                    if (Glitch.GlichEnabler)
                    {
                        _step            = 0;
                        txtEmail.Text    = "";
                        txtName.Text     = "";
                        txtPassword.Text = "";
                        txtPassword.Attributes["value"] = "";

                        Response.Redirect("~/StaticNoise.aspx");
                    }

                    if (!Glitch.GlichEnabler)
                    {
                        _step            = 0;
                        txtEmail.Text    = "";
                        txtName.Text     = "";
                        txtPassword.Text = "";
                        txtPassword.Attributes["value"] = "";

                        Response.Redirect("Default.aspx");

                        Label5.Text = "Thank you for supporting Arcadia. We will contact you soon with further info";
                    }
                }
                else
                {
                    Label5.Text = "Sorry that name has already signed up";
                }
            }
            else
            {
                Label5.Text = "Insert a valid mail";
            }
        }
        else
        {
            Label5.Text = "Incorrect info, please enter info in all the fields";
        }
    }
        public async Task <IActionResult> GetEmailValidate([FromQuery] string email)
        {
            var validator = new MailValidator(_context);
            var result    = await validator.ValidateAsync(email);

            if (result.IsValid)
            {
                return(Ok());
            }

            var r = new
            {
                domain = result.Errors?.Select(e => e.ErrorMessage).ToArray()
            };

            return(Ok(r));
        }
        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));
        }
Exemple #7
0
    /// <summary>
    ///     Method for the eventhandler on the button
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSend_Click(object sender, EventArgs e)
    {
        //try catch to make sure it won't do a error when sending the mail. if pop3 is missin on the server
        try
        {
            if (MailValidator.EmailIsValid(txtEmail.Text)) //validate mail
            {
                _random = new Random();

                var randomNumber = _random.Next(0, 2);
                var mailMessage  = new MailMessage();
                mailMessage.To.Add(txtEmail.Text);
                mailMessage.From = new MailAddress("*****@*****.**");
                //send a mail to the person who wrote instanely with a random respone.
                //can be changed to a real contact form
                if (randomNumber == 0)
                {
                    //put in a random
                    mailMessage.Subject = txtSubject.Text.Trim();
                    mailMessage.Body    = txtMsg.Text.Trim();
                }
                else
                {
                    mailMessage.Subject = txtSubject.Text.Trim();
                    mailMessage.Body    = txtMsg.Text.Trim();
                }
                var smtpClient = new SmtpClient("smtp.your-isp.com");
                smtpClient.Send(mailMessage);
                litError.Text = "E-mail sent!";
            }
            else
            {
                litError.Text = "Invalid e-mail adresse";
            }
        }
        catch (Exception)
        {
            litError.Text = "An error happen and the mail wasn't able to get send, please try again later";
        }
    }
Exemple #8
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);
        }
Exemple #9
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);
            }
        }
Exemple #10
0
        private void Create_Click(object sender, RoutedEventArgs e)
        {
            var firstName = FirstNameBox.Text;
            var lastName  = LastNameBox.Text;
            var pesel     = PeselBox.Text;
            var email     = EmailBox.Text;
            var doB       = DoB.Text;
            var street    = StreetBox.Text;
            var city      = CityBox.Text;
            var country   = CountryBox.Text;
            var zipCode   = ZipCodeBox.Text;
            var phone     = PhoneBox.Text;


            var nameValidator  = new NameValidator();
            var mailValidator  = new MailValidator();
            var peselValidator = new PeselValidator();
            var dobValidator   = new DateOfBirthValidator();
            var phoneValidator = new PhoneValidator();

            if (!nameValidator.ValidateName(firstName))
            {
                MessageBox.Show("Podałeś nieprawidłowę imię.");
            }
            else if (!nameValidator.ValidateName(lastName))
            {
                MessageBox.Show("Podałeś nieprawidłowe nazwisko");
            }
            else if (!peselValidator.ValidatePesel(pesel))
            {
                MessageBox.Show("Podałeś nieprawidłowy numer PESEL");
            }
            else if (!mailValidator.ValidateMail(email))
            {
                MessageBox.Show("Podałeś nieprawidłowy adres Email");
            }
            else if (!phoneValidator.ValidatePhoneNumber(phone))
            {
                MessageBox.Show("Nieprawidłowy numer telefonu");
            }

            else if (!dobValidator.ValidateDoB(doB))
            {
                MessageBox.Show("Nieprawidłowa data urodzenia");
            }
            else if (string.IsNullOrEmpty(street) || string.IsNullOrEmpty(zipCode) || string.IsNullOrEmpty(country) ||
                     string.IsNullOrEmpty(city))
            {
                MessageBox.Show("Pole adresowe nie może być puste");
            }


            else
            {
                var gender          = (Gender)Enum.Parse(typeof(Gender), GenderComboBox.Text);
                var account         = new BankAccount();
                var personalAccount = new PersonalAccount(firstName, lastName, doB, gender, pesel, email, street,
                                                          zipCode,
                                                          country, phone, city, account)
                {
                    BankAccount = { Balance = 0.0 }
                };

                var filePath  = Environment.CurrentDirectory + @"\" + "Personal_Accounts.xml";
                var listToXml = new ListToXml();
                listToXml.PersonalAccounts(personalAccount, filePath);

                Close();
            }
        }
 public void MailValidator_Validate_ValidMail()
 {
     MailValidator validator = new MailValidator();
     bool valid = validator.Validate<string>("*****@*****.**");
     Assert.IsTrue(valid);
 }
 public void MailValidator_Validate_InvalidMail()
 {
     MailValidator validator = new MailValidator();
     bool valid = validator.Validate<string>("login");
     Assert.IsFalse(valid);
 }
Exemple #13
0
        public void IsValid_Correct_Data_AssertTrue()
        {
            MailValidator val = new MailValidator();

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