/// <summary> /// Handles the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>Returns a Response object.</returns> public override Response Handle(SendDirectMessageRequest request) { var response = CreateTypedResponse(); var session = _sessionProvider.GetSession(); var info = _userInformationDtoFactory.CreateUserInformationDto(); var staff = session.QueryOver <Staff>().Where(s => s.Key == info.StaffKey).SingleOrDefault(); var fromAddress = staff.DirectAddressCredential.DirectAddress.Address; var fromDisplayName = staff.StaffProfile.StaffName.Complete; var mailMessageBuilder = new MailMessageBuilder(); mailMessageBuilder .Compose(fromAddress, fromDisplayName, request.ToDirectEmail, string.Empty, request.Subject, request.Body); if (request.AttachmentData != null) { mailMessageBuilder.WithAttachment(request.AttachmentData, request.AttachmentFileName); } _mailMessageSender.Send(mailMessageBuilder.MailMessage); return(response); }
/// <summary> /// Handles the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>A <see cref="Agatha.Common.Response"/></returns> public override Response Handle(SendC32Request request) { SendC32Response response = CreateTypedResponse(); Staff staff = Session.QueryOver <Staff> ().Where(s => s.Key == request.StaffKey).SingleOrDefault(); string fromAddress = staff.DirectAddressCredential.DirectAddress.Address; var fromDisplayName = staff.StaffProfile.StaffName.Complete; long patientKey = request.PatientKey; // Build Normative C32 Document string c32 = _builder.BuildC32Xml(patientKey, false); // Build Html Document representing the C32 string c32Html = CreateHtmlC32(c32); string body = request.Body; string toAddress = request.ToDirectEmail; var mailMessageBuilder = new MailMessageBuilder(); mailMessageBuilder .Compose(fromAddress, fromDisplayName, toAddress, string.Empty, request.Subject, body) .WithAttachment(c32, string.Format("{0}{1}", DateTime.Now.Ticks, ".xml")) .WithAttachment(c32Html, "Preview.html"); _mailMessageSender.Send(mailMessageBuilder.MailMessage); return(response); }
protected override async Task <OperationMessageHandlerResult> OnHandle(IDirectoryUserNotificationMessage message) { var culture = (message.Culture ?? "de-ch").ToLower(); var messageBuilder = new MailMessageBuilder( new MailAddress("*****@*****.**", "Microsoft AIALA"), new MailAddress(message.Receiver), new CultureInfo(culture)); switch (message) { case DirectoryAccountInvitedMessage invitedMessage: { var invitationLink = string.Format(_linkOptions.Value.ConfirmInvitation, culture, invitedMessage.Account.Id, WebUtility.UrlEncode(invitedMessage.Account.Invitation.ConfirmationToken)); messageBuilder.UseEncoding(Encoding.UTF8).CreateFromTemplate(new ConfirmInvitationMailTemplate(invitationLink)); break; } case DirectoryRegistrationConfirmationRequiredMessage registrationMessage: { var registrationLink = string.Format(_linkOptions.Value.ConfirmRegistration, culture, registrationMessage.RegistrationId, WebUtility.UrlEncode(registrationMessage.Token)); messageBuilder.UseEncoding(Encoding.UTF8).CreateFromTemplate(new ConfirmRegistrationMailTemplate(registrationLink)); break; } case DirectoryPasswordResetMessage passwordResetMessage: var resetPasswordLink = string.Format(_linkOptions.Value.ResetPassword, culture, WebUtility.UrlEncode(message.Receiver), WebUtility.UrlEncode(passwordResetMessage.Token)); messageBuilder.UseEncoding(Encoding.UTF8).CreateFromTemplate(new ResetPasswordMailTemplate(resetPasswordLink)); break; default: return(OperationMessageHandlerResult.Succeed()); } try { await _smtpMailService.SendMail(messageBuilder.Build()); return(OperationMessageHandlerResult.Succeed()); } catch (Exception ex) { return(OperationMessageHandlerResult.Fail(ex)); } }
protected void AddFilesToMessage(IEnumerable <FormFile> files, MailMessageBuilder builder) { foreach (var file in files) { var attachment = new Attachment(file.InputStream, file.FileName, file.ContentType); file.InputStream.Seek(0, SeekOrigin.Begin); builder.AddAttachment(attachment); } }
public void Delete_Message() { var message = MailMessageBuilder.To(MailAddress) .WithSubject($"PSC GmailClient Test for Delete {DateTime.Now}").Build(); _client.Send(message); Thread.Sleep(WaitForMessageSentTimeout); var messagesSent = _client.GetMessages(new SubjectFilter(message.Subject)); _client.Delete(messagesSent.First()); _client.GetMessages(new SubjectFilter(message.Subject)).Should().BeEmpty(); }
public void TestNullMailMessages() { // Test incomplete mail builder MailMessage mail1 = new MailMessageBuilder().build(); Assert.AreEqual(null, mail1); MailMessage mail2 = new MailMessageBuilder().from(null).to(null).subject(null).body(null).HTMLBody(true).build(); Assert.AreEqual(null, mail2); MailMessage mail3 = new MailMessageBuilder().from("*****@*****.**").to("*****@*****.**").subject(null).body("Hello Test").HTMLBody(true).build(); Assert.AreEqual(null, mail3); }
public MailMessage Build(MailAddress recipient, string userName, string targetLink) { var template = GetTemplate(); var content = template .Replace("{{User}}", userName) .Replace("{{SignUpUrl}}", targetLink); var messageBuilder = new MailMessageBuilder(); return(messageBuilder .From(new MailAddress(MailConfig.DefaultSender.From, MailConfig.DefaultSender.Name)) .WithSender(new MailAddress(MailConfig.DefaultSender.From, MailConfig.DefaultSender.Name)) .WithSubject($"You are invited by {userName}") .WithHtmlBody(content) .AddRecipient(recipient) .Build()); }
public async Task SendEmailAsync(string receiverEmail, string subject, string message) { var senderEmail = await _keyValue.GetValue("EmailHost"); var senderEmailPassword = await _keyValue.GetValue("EmailPassword"); var mail = new MailMessageBuilder().CreateNewMimeMessage(MailPriority.High) .CreateSender(senderEmail) .SetBody(message) .SetSubject(subject) .CreateReceiver(receiverEmail) .Get(); await new SmtpClientBuilder().SetUpConnection(senderEmail, senderEmailPassword) .Send(mail) .BuildAsync(); }
public MailMessage Build(MailAddress recipient) { var template = GetTemplate(); var messageBuilder = new MailMessageBuilder(); var mailMessageCollection = new MailAddressCollection() { recipient }; return(messageBuilder .From(new MailAddress(MailConfig.DefaultSender.From, MailConfig.DefaultSender.Name)) .WithSender(new MailAddress(MailConfig.DefaultSender.From, MailConfig.DefaultSender.Name)) .WithSubject("Password Reset Successful") .WithHtmlBody(template) .AddRecipients(mailMessageCollection) .Build()); }
public void TestValidMailMessages() { // Test valid mail string from4 = "*****@*****.**"; string to4 = "*****@*****.**"; string subject4 = "Test Subject"; string body4 = "Hello test"; bool htmlBody4 = true; MailMessage mail4 = new MailMessageBuilder().from(from4).to(to4).subject(subject4).body(body4).HTMLBody(htmlBody4).build(); Assert.AreNotEqual(null, mail4); Assert.AreEqual(from4, mail4.From.Address); Assert.AreEqual(true, mail4.To.Contains(new MailAddress(to4))); Assert.AreEqual(subject4, mail4.Subject); Assert.AreEqual(body4, mail4.Body); Assert.AreEqual(htmlBody4, mail4.IsBodyHtml); }
public MailMessage Build(string activationUrl, MailAddress recipient) { var template = GetTemplate(); var content = template.Replace("{{PasswordResetUrl}}", activationUrl); var messageBuilder = new MailMessageBuilder(); var mailMessageCollection = new MailAddressCollection() { recipient }; return(messageBuilder .From(new MailAddress(MailConfig.DefaultSender.From, MailConfig.DefaultSender.Name)) .WithSender(new MailAddress(MailConfig.DefaultSender.From, MailConfig.DefaultSender.Name)) .WithSubject("Activate your Email") .WithHtmlBody(content) .AddRecipients(mailMessageCollection) .Build()); }
public async Task <MailMessage> Build(ActivationMailData mailData, MailAddress recipient) { var template = await GetHtmlTemplateAsync(); var content = template.Replace("{{ActivationUrl}}", mailData.ActivationUrl) .Replace("{{Name}}", mailData.Name); var messageBuilder = new MailMessageBuilder(); var mailMessageCollection = new MailAddressCollection { recipient }; return(messageBuilder .From(new MailAddress(MailConfig.From, MailConfig.Name)) .WithSender(new MailAddress(MailConfig.From, MailConfig.Name)) .WithSubject("Activate your Account") .WithHtmlBody(content) .AddRecipients(mailMessageCollection) .Build()); }
public async Task <MailMessage> Build(ForgotPasswordEmailDetails details, MailAddress recipient) { var template = await GetHtmlTemplateAsync(); var content = template.Replace("{{PasswordResetUrl}}", details.PasswordResetUrl) .Replace("{{Name}}", details.Name); var messageBuilder = new MailMessageBuilder(); var mailMessageCollection = new MailAddressCollection() { recipient }; return(messageBuilder .From(new MailAddress(MailConfig.From, MailConfig.Name)) .WithSender(new MailAddress(MailConfig.From, MailConfig.Name)) .WithSubject("You requested to reset your password") .WithHtmlBody(content) .AddRecipients(mailMessageCollection) .Build()); }
public void SendInPlainTextMode(string[] to, Func <MailMessageBuilder, MailMessageBuilder> createMsg) { _client.SendInPlainTextMode(createMsg(MailMessageBuilder.To(to)).Build()); }
private IMailMessageModel GetTestMessage(string filePath) { return(MailMessageBuilder.To(MailAddress) .WithSubject($"PSC GmailClient Test {DateTime.Now}") .WithBody(RandomString(5)).WithAttachments(FileProvider.GetFileByName(filePath).PhysicalPath).Build()); }
private IMailMessageModel GetTestMessage() { return(MailMessageBuilder.To(MailAddress) .WithSubject($"PSC GmailClient Test {DateTime.Now}") .WithBody(RandomString(5)).Build()); }
private async Task SendEmail(IdentityUser user, MailMessageBuilder mailMessageBuilder) { await _mailingService.SendMailAsync(mailMessageBuilder.Body, mailMessageBuilder.Subject, user.Email); }
public static MailMessage Default(MailMessageBuilder builder) => builder.Build();
public MeetingController() { _store = new VMSStore(); _mailMessageBuilder = new MailMessageBuilder(); }
public void Send(Func <MailMessageBuilder, MailMessageBuilder> createMsg, string[] to) { _client.Send(createMsg(MailMessageBuilder.To(to)).Build()); }