/// <summary> /// This method sends an automated e-mail /// </summary> /// <param name="user">Userprofile of user who mail will be sent to</param> /// <param name="token">Generated encrypted token</param> /// <param name="config">E-mailconfiguration from appsettings.json</param> public static void SendPasswordForgottenEmail(ProfileDatum user, string token, IConfiguration config) { SendEmailConfiguration mailConfiguration = SendEmailConfiguration.GetEmailConfiguration(config); System.Text.StringBuilder mailcontent = new System.Text.StringBuilder(); mailcontent.Append("<img src='https://www.ruilwinkelvaals.nl/ruilwinkelvaals.nl/images/ruilwinkel/logo_ruilwinkel_vaalsWEB.jpg'style='width:20%; height:10%;'>"); mailcontent.Append("<br />"); mailcontent.Append("<br />"); mailcontent.Append(String.Format("<p>Beste {0},</p>", user.Voornaam)); mailcontent.Append(String.Format("<p>Wat vervelend dat u uw wachtwoord vergeten bent.</p>")); mailcontent.Append(String.Format("<p>Via de onderstaande link kunt u uw wachtwoord weer herstellen.</p>")); mailcontent.Append(String.Format("<p><em>Deze link is 60 minuten geldig. Bij een ongeldige link kunt u onze <a href='https://ruilwinkelvaalscore.azurewebsites.net/ForgotPassword/ForgotPassword'>wachtwoord herstelpagina</a> bezoeken om een nieuwe herstellink te ontvangen.</em></p>")); mailcontent.Append(String.Format("<p><a style='background-color:#8b0000; display:inline-block; color:white; padding:8px 16px; margin:8px 0px;border:none;cursor:pointer;border-radius:8px;font-size:12px;text-transform:uppercase;font-family:Helvetica;' href='https://ruilwinkelvaalscore.azurewebsites.net/ForgotPassword/ResetPassword?email={0}&token={1}'>Reset wachtwoord</a></p>", user.Email, token)); mailcontent.Append(String.Format("<br />")); mailcontent.Append(String.Format("<p><em>Heeft u deze email ontvangen terwijl u uw wachtwoord niet wilt herstellen? Neem dan contact met ons op via het telefoonnummer +31 6 20 74 98 86</em></p>")); mailcontent.Append(String.Format("<p>Met vriendelijke groet,</p>")); mailcontent.Append(String.Format("<p>Ruilwinkel Vaals</p>")); EmailMessage emailMessage = new EmailMessage(); emailMessage.FromAddresses.Add(new EmailAddress("Ruilwinkel Vaals", "*****@*****.**")); emailMessage.subject = "Wachtwoord herstellen"; emailMessage.ToAddresses.Add(new EmailAddress(user.Voornaam + " " + user.Achternaam, user.Email)); emailMessage.content = mailcontent.ToString(); SendEmailService sendEmailService = new SendEmailService(mailConfiguration); sendEmailService.SendMessage(emailMessage); }
public void GetEmailConfigurationTest() { IConfigurationRoot root = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); IConfiguration configuration = root as IConfiguration; var emailConfiguration = SendEmailConfiguration.GetEmailConfiguration(configuration); Assert.IsNotNull(emailConfiguration); Assert.AreEqual("smtp-relay.sendinblue.com", emailConfiguration.SmtpServer); Assert.AreEqual(587, Int32.Parse(emailConfiguration.SmtpPort.ToString())); Assert.AreEqual(true, bool.Parse(emailConfiguration.SmtpUseSsl.ToString())); Assert.AreEqual(true, bool.Parse(emailConfiguration.SmtpRequireAuthentication.ToString())); Assert.AreEqual("*****@*****.**", emailConfiguration.SmtpUsername); Assert.AreEqual("G9ZXgcqUhJYB7NLE", emailConfiguration.SmtpPassword); }
private SendEmailConfiguration GetConfiguration() { var configuration = new SendEmailConfiguration { EmailTo = Environment.GetEnvironmentVariable("EmailTo"), EmailFrom = Environment.GetEnvironmentVariable("EmailFrom"), Host = Environment.GetEnvironmentVariable("SmtpHost"), Login = Environment.GetEnvironmentVariable("Login"), Password = Environment.GetEnvironmentVariable("Password"), }; string smtpPort = Environment.GetEnvironmentVariable("SmtpPort"); if (int.TryParse(smtpPort, out int port)) { configuration.Port = port; } return(configuration); }