public FilesFixture() { var baseUrl = Environment.GetEnvironmentVariable("MAILOSAUR_BASE_URL") ?? "https://mailosaur.com/"; var apiKey = Environment.GetEnvironmentVariable("MAILOSAUR_API_KEY"); var server = Environment.GetEnvironmentVariable("MAILOSAUR_SERVER"); if (string.IsNullOrWhiteSpace(apiKey) || string.IsNullOrWhiteSpace(server)) { throw new Exception("Missing necessary environment variables - refer to README.md"); } client = new MailosaurClient(apiKey, baseUrl); client.Messages.DeleteAll(server); var host = Environment.GetEnvironmentVariable("MAILOSAUR_SMTP_HOST") ?? "mailosaur.io"; var testEmailAddress = $"wait_for_test.{server}@{host}"; Mailer.SendEmail(client, server, testEmailAddress); email = client.Messages.WaitFor(server, new SearchCriteria() { SentTo = testEmailAddress }); }
public static void SendEmails(MailosaurClient client, string server, int quantity) { for (var i = 0; i < quantity; i++) { SendEmail(client, server); } }
public void LostPassword_EnterLoginSubmitItAndTakeForgotPasswordMailPutNewPassword_PasswordSuccessfullyChanged() { // driver.Maximize(); eyes.Open(driver, "Go To Lost Password Form Rest Password And Change Password To New", "Enter To Lost Password Form"); driver.Navigate().GoToUrl("https://wordpress.com/wp-login.php?action=lostpassword"); driver.ClickOnElement(By.CssSelector("#user_login")); driver.FindElement(By.CssSelector("#user_login")).SendKeys("testcommunicate"); eyes.CheckWindow("Filled name of user"); driver.ClickOnElement(By.CssSelector("#wp-submit")); eyes.CheckWindow("Send form with the name of user"); //there you need to put your mailosaur api key var client = new MailosaurClient("SFzsuS7cp5qHbom", "https://mailosaur.com"); //there put search criteria which emails we want to take var criteria = new SearchCriteria { SentTo = "*****@*****.**" }; var message = client.Messages.Get("wr7z7h7k", criteria); var takeUrlFromMessage = Regex.Matches(message.Text.Body, @"(http|ftp|https):\/\/([\w\-_]+(?:(?:\.[\w\-_]+)+))([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"); var value = takeUrlFromMessage[0].Value; driver.Navigate().GoToUrl(value); driver.ClickOnElement(By.CssSelector("#pass1")); driver.FindElement(By.CssSelector("#pass1")).SendKeys("_new_password_"); driver.ClickOnElement(By.CssSelector("#wp-submit")); driver.WaitForClickable(By.CssSelector(".reset-pass")); var text = driver.FindElement(By.CssSelector(".reset-pass")).Text; Assert.AreEqual("Your password has been reset. Log in", text); }
public ServersTests() { if (string.IsNullOrWhiteSpace(s_ApiKey)) { throw new Exception("Missing necessary environment variables - refer to README.md"); } m_Client = new MailosaurClient(s_ApiKey, s_BaseUrl); }
public static void SendEmail(MailosaurClient client, string server, string sendToAddress = null) { var host = Environment.GetEnvironmentVariable("MAILOSAUR_SMTP_HOST") ?? "mailosaur.io"; var port = Environment.GetEnvironmentVariable("MAILOSAUR_SMTP_PORT") ?? "25"; var message = new MailMessage(); var randomString = RandomString(); message.Subject = randomString + " subject"; message.From = new MailAddress($"{randomString} {randomString} <{client.Servers.GenerateEmailAddress(server)}>"); var randomToAddress = sendToAddress ?? client.Servers.GenerateEmailAddress(server); message.To.Add($"{randomString} {randomString} <{randomToAddress}>"); // Text body message.Body = s_Text.Replace("REPLACED_DURING_TEST", randomString); message.IsBodyHtml = false; message.BodyEncoding = Encoding.UTF8; // Html body var htmlString = s_Html.Replace("REPLACED_DURING_TEST", randomString); var htmlView = AlternateView.CreateAlternateViewFromString(htmlString, new ContentType(MediaTypeNames.Text.Html)); htmlView.TransferEncoding = TransferEncoding.Base64; message.AlternateViews.Add(htmlView); var image = new LinkedResource(Path.Combine("Resources", "cat.png")); image.ContentId = "ii_1435fadb31d523f6"; image.ContentType = new ContentType("image/png"); htmlView.LinkedResources.Add(image); var attachment = new System.Net.Mail.Attachment(Path.Combine("Resources", "dog.png")); attachment.ContentType = new ContentType("image/png"); message.Attachments.Add(attachment); var smtp = new SmtpClient(); smtp.Host = host; smtp.Port = int.Parse(port); smtp.Send(message); }
public EmailsFixture() { var baseUrl = Environment.GetEnvironmentVariable("MAILOSAUR_BASE_URL") ?? "https://mailosaur.com/"; var apiKey = Environment.GetEnvironmentVariable("MAILOSAUR_API_KEY"); server = Environment.GetEnvironmentVariable("MAILOSAUR_SERVER"); if (string.IsNullOrWhiteSpace(apiKey) || string.IsNullOrWhiteSpace(server)) { throw new Exception("Missing necessary environment variables - refer to README.md"); } client = new MailosaurClient(apiKey, baseUrl); client.Messages.DeleteAll(server); Mailer.SendEmails(client, server, 5); emails = client.Messages.List(server).Items; }
public void ThenAnEmailIsSentToThatEmailAddress() { var client = new MailosaurClient("OcC8OD35Fzk0v9M", "https://mailosaur.com"); var criteria = new SearchCriteria { SentTo = _user.Username }; var message = client.Messages.Get("qug8ug4m", criteria); Assert.Equals("System1 Group TST account email verification code", message.Subject); var body = new XmlDocument(); body.LoadXml(message.Html.Body); var code = body.GetElementById("BodyPlaceholder_UserVerificationEmailBodySentence2"); //Assert.StartsWith("Your code is: 123456", code.InnerText); var splitText = code.InnerText.Split(new[] { ":" }, StringSplitOptions.None); }