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)); } }
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()))); }
public void ResourceCache_MessageNotPrepared_Test() { var msg = new InlineMessage(); var r1 = new MailPayload(msg).Content; var r2 = new MailPayload(msg).Content; }
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); } }
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)); }
private void AssertPayload(MailMessage msg) { var payload = new MailPayload(msg); Assert.AreEqual(msg.ToString(), payload.Content); }
private void Write(MailPayload payload) { channel.Write(payload.Content); }