public async Task RequireUniqueEmail()
        {
            // Arrange
            var registerRequest = new RegisterRequest()
            {
                UserName    = "******",
                FirstName   = "New",
                LastName    = "User",
                NickName    = "New Guy",
                Email       = "*****@*****.**",
                Password    = "******",
                License     = TestObjects.GetLicense(),
                RequestorId = 1
            };

            var baseUrl = "https://example.com";

            var emailMetaData = new EmailMetaData();

            var html = "c:/path/to/html";

            // Act
            var result = await sutEmailFailure.CreateUser(registerRequest, baseUrl, html);

            // Assert
            Assert.That(result.Success, Is.False);
            Assert.That(result.Message, Is.EqualTo("Email not Unique"));
        }
Пример #2
0
        public async Task <bool> SendMail(EmailMetaData data)
        {
            bool        isSent = false;
            MailMessage mail   = new MailMessage();

            mail.To.Add(data.toaddress);
            mail.From    = new MailAddress(data.fromaddress);
            mail.Subject = data.subject;
            string Body = data.body;

            mail.Body       = Body;
            mail.IsBodyHtml = data.isHtml;

            Console.Write(mail.To.ToList().FirstOrDefault());

            SmtpClient smtp = new SmtpClient();

            smtp.Host           = data.protocol.host;
            smtp.Port           = data.protocol.port;
            smtp.EnableSsl      = data.protocol.enablessl;
            smtp.Credentials    = new NetworkCredential(mail.From.Address, "Paypart22$");
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
            try
            {
                //smtp.Send(mail);
                await smtp.SendMailAsync(mail);

                isSent = true;
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
            }
            return(isSent);
        }
Пример #3
0
        public async Task <bool> sendMail(User user, string newpwd, IOptions <Settings> settings)
        {
            bool          isSent = false;
            EmailMetaData emd    = new EmailMetaData();

            emd.body          = settings.Value.resetNotifyBody.Replace(settings.Value.resetNotifynewpass, "' " + newpwd + " '");
            emd.datesubmitted = DateTime.Now;
            emd.subject       = settings.Value.resetNotifySubject;
            emd.toaddress     = user.email;
            string request     = string.Empty;
            string responseTxt = string.Empty;
            string contentType = "application/json";

            using (var client = new HttpClient())
            {
                request = JsonHelper.toJson(emd);
                var content = new StringContent(request, Encoding.UTF8, contentType);
                HttpResponseMessage response = await client.PostAsync(settings.Value.notifyUrl + "email", content);

                responseTxt = await response.Content.ReadAsStringAsync();

                isSent = JsonConvert.DeserializeObject <bool>(responseTxt);
            }
            return(isSent);
        }
Пример #4
0
        public void Setup()
        {
            emailMetaData          = TestObjects.GetEmailMetaData();
            incorrectEmailMetaData = TestObjects.GetIncorrectEmailMetaData();

            sut        = new EmailService(emailMetaData);
            sutFailure = new EmailService(incorrectEmailMetaData);

            toEmail = "*****@*****.**";
            subject = "testing123...";
            html    = "<h1>Hello World!</h1>";
        }
Пример #5
0
        public async Task <IActionResult> send([FromBody] EmailMetaData emd)
        {
            NotificationError e       = new NotificationError();
            Utility           utility = new Utility();
            bool isSent = false;

            //validate request
            if (!ModelState.IsValid)
            {
                var modelErrors = new List <NotificationError>();
                var eD          = new List <string>();
                foreach (var modelState in ModelState.Values)
                {
                    foreach (var modelError in modelState.Errors)
                    {
                        eD.Add(modelError.ErrorMessage);
                    }
                }
                e.error        = ((int)HttpStatusCode.BadRequest).ToString();
                e.errorDetails = eD;

                return(BadRequest(e));
            }

            try
            {
                emd.fromaddress = settings.Value.emailFromAddress;
                Smtp smtp = new Smtp()
                {
                    enablessl = settings.Value.emailEnableSSL,
                    host      = settings.Value.emailHost,
                    port      = settings.Value.emailPort
                };

                emd.protocol = smtp;

                isSent = await utility.SendMail(emd);
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
            }
            return(CreatedAtAction("send", isSent));
        }
Пример #6
0
 public EmailService(EmailMetaData metaData)
 {
     emailMetaData = metaData;
 }