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); }
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 }); }
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(); } }
/// <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)); }
/// <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"; } }
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); }
/// <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); } }
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); }
public void IsValid_Correct_Data_AssertTrue() { MailValidator val = new MailValidator(); Assert.True(val.IsValid("*****@*****.**")); }