Esempio n. 1
0
        public Task <SwaggerResponse> SendMailAsync(MailDto mailMessage)
        {
            var headers = new Dictionary <string, IEnumerable <string> >();

            try
            {
                var userId  = _httpContextAccessor.HttpContext.User.FindFirst(cl => cl.Type.Equals("id")).Value;
                var profile = _unitOfWork.AppProfiles.FindById(userId);
                var to      = new EmailAddress {
                    Email = "*****@*****.**"
                };
                var from = new EmailAddress {
                    Email = profile.Identity.Email
                };
                var mailPayload = new MailPayload {
                    Subject = mailMessage.Subject, Body = mailMessage.Body, From = from
                };
                mailPayload.ToList.Add(from);
                _mailClient.SetOptions(_mailConfigOptions);
                _mailClient.SendEmail(mailPayload);
                return(Task.Run(() => new SwaggerResponse(StatusCodes.Status200OK, headers)));
            }
            catch (Exception exception)
            {
                return(HandleException(exception, headers));
            }
        }
Esempio n. 2
0
        public Task <SwaggerResponse <RegisterResponse> > RegisterUserAsync(RegisterDto registerDto)
        {
            var headers      = new Dictionary <string, IEnumerable <string> >();
            var userIdentity = _mapper.Map <AppUser>(registerDto);
            var result       = _userManager.CreateAsync(userIdentity, registerDto.Password).Result;

            if (!result.Succeeded)
            {
                return(Task.FromResult(new SwaggerResponse <RegisterResponse>(StatusCodes.Status400BadRequest, headers, null, result.ToString())));
            }

            var confirmationToken = _userManager.GenerateEmailConfirmationTokenAsync(userIdentity).Result;
            var cnf = System.Text.Encodings.Web.UrlEncoder.Default.Encode(confirmationToken);
            var to  = new EmailAddress {
                Name = "Hans Tschan", Email = "*****@*****.**"
            };
            var mailPayload = new MailPayload {
                Subject = "Bestätigung Kontoeröffnung"
            };

            mailPayload.From = new EmailAddress {
                Email = _mailConfigOptions.From
            };
            mailPayload.Body = $"Das ist ihr Link zum Bestätigen - bitte klicken Sie <a href='http://localhost:5000/api/v1/confirm?cnf={cnf}&id={userIdentity.Id}'>hier</a>, um Ihre E-Mail Adresse zu bestätigen.";
            _mailClient.SetOptions(_mailConfigOptions);
            _mailClient.SendEmail(mailPayload);
            return(Task.FromResult(new SwaggerResponse <RegisterResponse>(StatusCodes.Status201Created, headers, null, result.ToString())));
        }
Esempio n. 3
0
        public void ResourceCache_MessageNotPrepared_Test()
        {
            var msg = new InlineMessage();

            var r1 = new MailPayload(msg).Content;

            var r2 = new MailPayload(msg).Content;
        }
Esempio n. 4
0
        public void ResourceCache_MessagePrepared_Test()
        {
            using (var cache = new ResourceCache())
            {
                var msg = new InlineMessage();

                cache.Prepare(msg);
                var r1 = new MailPayload(msg).Content;

                cache.Prepare(msg);
                var r2 = new MailPayload(msg).Content;

                Assert.AreEqual(r1, r2);
            }
        }
Esempio n. 5
0
        private void AssertDkimHeader(ISignedMessage msg)
        {
            var payload = new MailPayload(config, msg as MailMessage, signatureDate);

            var dkim = payload
                       .Headers
                       .Single(h => h.Key.Equals(HeaderName.DkimSignature))
                       .Value
                       .Split(new[] { " ", Keyword.CRLF }, StringSplitOptions.RemoveEmptyEntries);

            var bh       = msg.GetBodyHash();
            var actualBh = dkim.Single(x => x.StartsWith("bh=")).TrimEnd(';');

            Assert.AreEqual(bh, actualBh.Substring(3));

            var b       = msg.GetDkimSignature();
            var actualB = dkim.Single(x => x.StartsWith("b=")).TrimEnd(';');

            Assert.AreEqual(b, actualB.Substring(2));
        }
Esempio n. 6
0
        private void AssertPayload(MailMessage msg)
        {
            var payload = new MailPayload(msg);

            Assert.AreEqual(msg.ToString(), payload.Content);
        }
Esempio n. 7
0
 private void Write(MailPayload payload)
 {
     channel.Write(payload.Content);
 }