public void InviteUser(string email) { email = (email ?? string.Empty).Trim(); try { var addr = new System.Net.Mail.MailAddress(email); if (addr.Address != email) { throw new InvalidOperationException($"Email address {email} converted to {addr.Address}"); } } catch (Exception ex) { m_log.Error($"InviteUser failed email={email}", ex); throw new InvalidOperationException("Neplatná e-mailová adresa"); } using (var tx = m_database.OpenTransaction()) { var thePass = GeneratePass(6); m_userRepository.CreateUserAccount(email, thePass); m_mailSender.Send(email, "Pozvánka do systému ELSA", $"Uživatel {m_session.User.EMail} Vás pozval do systému ELSA. \r\n Vaše dočasné heslo je: {thePass}\r\n Přihlaste se na {m_session.Project.HomeUrl}\r\nPozor! Vaše dočasné heslo je třeba po přihlášení změnit (kliknutím na link '{email}' v pravém horním rohu), do té doby nebudete moci Elsu používat."); tx.Commit(); } }
private void SendMessage(MailMessage mailMessage, bool copySender = false) { try { var originalFrom = mailMessage.From; if (mailMessage.From.Address != ModerationEmail && mailMessage.From.Address != SiteEmail) { mailMessage.ReplyToList.Add(originalFrom); var displayName = string.IsNullOrWhiteSpace(originalFrom.DisplayName) ? originalFrom.Address : originalFrom.DisplayName; if (displayName.IndexOf('@') >= 0) { displayName = "'{0}' via {1}".format_with(displayName.Substring(0, displayName.IndexOf('@')),settings.GalleryOwnerName) ; } mailMessage.From = new MailAddress(SiteEmail, displayName); } mailSender.Send(mailMessage); if (copySender) { var senderNote = string.Format( "You sent the following message via {0}:{1}{1}", settings.GalleryOwnerName, Environment.NewLine); mailMessage.To.Clear(); mailMessage.Body = senderNote + mailMessage.Body; mailMessage.To.Add(originalFrom); mailSender.Send(mailMessage); } } catch (SmtpException ex) { // Log but swallow the exception ErrorSignal.FromCurrentContext().Raise(ex); } }
public async Task <Trip> Add(Trip item) { var result = await service.Add(item); result = service.Get(result.TripID); if (result.OrganizerID.HasValue) { var org = employee.Get(result.OrganizerID ?? 0); foreach (var emp in item.EmployeesToTrip) { sender.Send(emp.Employee.Email, emp.Employee.Name, "Trip was created", "A new trip was created where you were listed as a traveler. \r\n" + "\r\n" + "Trip details:\r\n" + "\r\n" + $"{result.DepartureOffice.City} - {result.ArrivalOffice.City}\r\n" + $"{result.DepartureDate} - {result.ReturnDate}\r\n" + $"Organizer: {org.Name} ({org.Email})\r\n" + "\r\n" + "The trip is now visible in your trips list.\r\n" + "Please approve the trip and choose whether you will need an apartment to stay during your trip." ); } } return(result); }
public void SendRecoverPasswordNotification(string email, string recoveredPassword) { var userRepository = new UserRepository(_context); var user = userRepository.GetByEmail(email); var parameterRepository = new ParameterRepository(_context); var body = Resource.PasswordRecoveryEmailBody .Replace("{username}", user.Name) .Replace("{login}", email) .Replace("{password}", recoveredPassword) .Replace("{link}", Parameter.BASE_URL); var message = new MailMessage(); message.To.Add(email); message.From = new MailAddress(parameterRepository.GetValueByKey(Parameter.EMAIL_FROM_KEY), Parameter.APP_NAME); message.Subject = Resource.PasswordRecoveryEmailSubject; message.IsBodyHtml = true; message.Body = body; _sender.Send(message); }
public void Send_Should_ThrowSmptClientException_When_ClientThrowArgumentException() { var client = Substitute.For <ISmtpClient>(); client.When(c => c.Send(Arg.Any <MailMessage>())).Do(info => throw new ArgumentException()); _clientFactory.Create().Returns(client); Expect(() => _mailSender.Send(Arg.Any <MailMessage>()), Throws.TypeOf <SmptClientException>()); }
public ActionResult Index(HomeIndexFormModel model) { if (!ModelState.IsValid) { return(View()); } try { //Получаем класс отчета SalesReport var salesRep = new SalesReport(_northwindDbContext); //Строим отчет SalesReport в поток resultStream using (var resultStream = salesRep.BuildToStream(model.StartDate, model.EndDate)) { resultStream.Position = 0; //отправляем отчет по почте MailMessage mail = new MailMessage() { To = { model.Email }, Subject = salesRep.Title, Attachments = { new Attachment(resultStream, salesRep.FileName, "text/csv") } }; _mailSender.Send(mail); } return(RedirectToAction("Success")); } catch (Exception ex) { return(View("Error", ex)); } }
public TemplateModule(ITemplateBuilder builder, IMailSender sender) : base("/templates") { this.builder = builder; Get["/"] = parameters => { return View["templates", new { Templates = builder.Templates .OrderBy(t => t.Path) }]; }; // Get["/{Name}"] = parameters => { // return Response.AsJson(new {parameters.Name}); // }; Post["/{Name}/deliver"] = parameters => { var model = this.Bind<TemplateModel>(); sender.Send(GetMailbag((string)parameters.Name, model)); return HttpStatusCode.OK; }; Post["/{Name}/mailbag"] = parameters => { var model = this.Bind<TemplateModel>(); return Response.AsJson(GetMailbag((string)parameters.Name, model)); }; Post["/{Name}/display"] = parameters => { var model = this.Bind<TemplateModel>(); return Template[parameters.Name, model]; }; }
public async Task <RegisterUserResult> RegisterUser(RegisterUserDTO register) { if (IsUserExistByEmail(register.Email)) { return(RegisterUserResult.EmailExist); } var user = new User { Email = register.Email.SanitizeText(), Address = register.Address.SanitizeText(), FirstName = register.FirstName.SanitizeText(), LastName = register.LastName.SanitizeText(), EmailActiveCode = Guid.NewGuid().ToString(), Password = _passwordHelper.EncodePasswordMd5(register.Password) }; await _userRepository.AddEntity(user); await _userRepository.SaveChanges(); #region Sending Activated Email var body = await _renderView.RenderToStringAsync("Email/_ActivateAccount", user); _mailSender.Send("*****@*****.**", "تست فعالسازی", body); #endregion return(RegisterUserResult.Success); }
public void Send(InternetMailMessage message, InternetMailTextProcessing processText = InternetMailTextProcessing.Process, InternetMailProtocol protocol = InternetMailProtocol.Smtp) { if (protocol == InternetMailProtocol.Pop3) { throw new RuntimeException("Недопустимо указывать POP3 в качестве протокола отправки почты!"); } IMailSender sender = null; if (protocol == InternetMailProtocol.Smtp) { sender = smtpClient; } else if (protocol == InternetMailProtocol.Imap) { sender = receiver as ImapReceiver; if (sender == null) { throw new RuntimeException("Соединение IMAP не установлено!"); } } sender?.Send(message, processText); }
public void Work() { var data = _messages.GetNext(EmailMessageState.New, _partitionId); while (data != null) { try { var message = Get(data); _sender.Send(message); _messages.SetState(data.Id, EmailMessageState.Sent); } catch (Exception e) { if (!e.IsCritical()) { _messages.SetState(data.Id, EmailMessageState.Failed); } throw new JobException("Failed to send the message " + data.Id, e); } data = _messages.GetNext(EmailMessageState.New, _partitionId); } }
private void SendMailMessage(string xmlFilePath, string logFilePath, string clientId) { var senderConfig = _senderConfigManager.Get(); try { _mailSender.Send(senderConfig.Host, senderConfig.Port, new[] { senderConfig.SenderLogin, senderConfig.SenderPassword }, senderConfig.To, "Converter error", "Client ID : " + clientId, new[] { xmlFilePath, logFilePath }); } catch (MailSenderConfigurationException ex) { _log.Info(ex.Message); _log.Error(ex.ToString()); } catch (MailAttachmentException ex) { _log.Info(ex.Message); _log.Error(ex.ToString()); } catch (MailSenderException ex) { _log.Info(ex.Message); _log.Error(ex.ToString()); } }
public async Task <RegisterUserDto.RegisterUserResult> RegisterUser(RegisterUserDto registerUserDto) { var isUserExist = _userRepository.IsUserExist(registerUserDto.UserName.Trim().ToLowerInvariant()); if (isUserExist) { return(RegisterUserDto.RegisterUserResult.UserExist); } var user = new User { Email = registerUserDto.Email.SanitizeText(), FirstName = registerUserDto.FirstName.SanitizeText(), LastName = registerUserDto.LastName.SanitizeText(), EmailActiveCode = Guid.NewGuid().ToString(), UserName = registerUserDto.UserName.SanitizeText(), Password = _passwordHelper.EncodePasswordMd5(registerUserDto.Password) }; await _userRepository.AddEntity(user); await _userRepository.SaveChanges(); var userDto = new RegisterUserDto() { Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, UserName = user.UserName, EmailActiveCode = user.EmailActiveCode, Password = _passwordHelper.EncodePasswordMd5(registerUserDto.Password) }; var body = await _renderView.RenderToStringAsync("Email/ActivateAccount", userDto); _mailSender.Send(userDto.Email.ToLower().Trim(), "سیستم مدیریت فروش ارز-فعالسازی حساب کاربری جدید", body); return(RegisterUserDto.RegisterUserResult.Success); }
public async Task <IActionResult> New(Invitation invitation) { if (!_invitationRepository.VerifyInvitationEmail(invitation.Email)) { ModelState.AddModelError("emailInUse", "El correo especificado ya se encuentra en uso"); } if (!ModelState.IsValid) { return(View(invitation)); } int creatorId = Convert.ToInt32(User.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier).First().Value); _invitationRepository.RegisterNew(invitation, creatorId); //Then proceed to send the email string url = $"{_configuration["ItinerariesAdminWebApp:invitationUrl"]}?token={HttpUtility.UrlEncode(invitation.Token)}"; string msg = $"Ha sido invitado a convertirse en un administrador de atracciones turísticas para la app móvil [NombreApp]." + $"Ingrese al siguiente <a href='{url}'>enlace</a> para crear su cuenta de usuario"; bool success = await _mailSender.Send(invitation.Email, "Invitación para ser Administrador de atracciones turísticas", "", msg); if (success) { _invitationRepository.ChangeStatus(invitation.Id, InvitationStatus.Sent); TempData["invitationSent"] = true; } else { _invitationRepository.ChangeStatus(invitation.Id, InvitationStatus.Cancelled); TempData["invitationSent"] = false; } return(RedirectToAction(nameof(New))); }
public async Task <MailSummary[]> Handle(SendAllPendingEmailsRequest request, CancellationToken cancellationToken) { var sentMailList = new List <MailSummary>(); var mails = await _context.Mails.ToListAsync(cancellationToken); foreach (var mail in mails) { if (mail.MailStatus == EMailStatus.Pending) { try { _mailSender.Send(mail); mail.MailStatus = EMailStatus.Sent; sentMailList.Add(new MailSummary(EMailStatus.Sent, mail.Title)); } catch { mail.MailStatus = EMailStatus.Invalid; sentMailList.Add(new MailSummary(EMailStatus.Invalid, mail.Title)); } } } await _context.SaveChangesAsync(cancellationToken); return(sentMailList.ToArray()); }
public virtual ActionResult Index(string email) { var id = _users.GetUserIdByEmail(email.Trim()); if (!id.HasValue) { ModelState.AddModelError("email", Validation.UserNotFound); return(View()); } var key = Guid.NewGuid().ToString(); SaveKey(id.Value, key); var url = Url.Action(MVC.RestorePassword.NewPassword(id.Value, key), "http"); var message = new EmailMessage( Pages.RestorePassword, string.Format(Pages.RestorePasswordText, url), EmailsHelper.DefaultFrom, email.Trim(), id.Value) { CopyTo = null, Files = null, IsBodyHtml = true }; _sender.Send(message); return(RedirectToAction(MVC.RestorePassword.Finish())); }
public async Task<IActionResult> OnPostSendVerificationEmailAsync() { if (!ModelState.IsValid) { return Page(); } var user = await _userManager.FindByEmailAsync(Input.Email); if (user == null) { ModelState.AddModelError(string.Empty, "Verification email sent. Please check your email."); } var userId = await _userManager.GetUserIdAsync(user); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = userId, code = code }, protocol: Request.Scheme); var message = new Message { Subject = "Confirm your email", Body = $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.", To = new string[] { Input.Email } }; await _emailSender.Send(message); ModelState.AddModelError(string.Empty, "Verification email sent. Please check your email."); return Page(); }
public static void SendMail( IMailSender mailSender, string emailAddress, string subject, string markdownBody) { mailSender.Send("*****@*****.**", emailAddress, subject, markdownBody); }
public void SendEmailFromUI(string toAddress) { //WITHOUT N INJECT //IMailSender mailSender = new MailSenderAction(); //mailSender.Send(toAddress, "This is without N inject example"); _mailSender.Send(toAddress, "N inject example"); }
public void ProcessEvent(EventType type, EventData data) { var messages = _messageBuilder.Get(type, data); if (messages != null) { _sender.Send(messages); } }
/// <summary> /// Отправляет отчет по электронной посте с указанием адресов отправителя и получателя /// </summary> /// <param name="report">Отправляемый отчет</param> /// <param name="from">Электронный адрес отправителя</param> /// <param name="to">Электронный адрес получателя</param> public void Send(Stream report, string from, string to) { var message = new MailMessage(from, to, messageSubject, messageBody); report.Position = 0; message.Attachments.Add(new Attachment(report, "Отчет.xlsx")); mailSender.Send(message); }
private void SendMessage(MailMessage mailMessage, bool copySender = false) { try { mailSender.Send(mailMessage); if (copySender) { var senderNote = string.Format( "You sent the following message via {0}:{1}{1}", settings.GalleryOwnerName, Environment.NewLine); mailMessage.To.Clear(); mailMessage.Body = senderNote + mailMessage.Body; mailMessage.To.Add(mailMessage.From); mailSender.Send(mailMessage); } } catch (SmtpException ex) { // Log but swallow the exception ErrorSignal.FromCurrentContext().Raise(ex); } }
public async override Task HandleAsync(RemoveProcessoDomainEvent request) { var title = TechnicalEvaluationMessages.EmailTitle; var message = string.Format(TechnicalEvaluationMessages.EmailRemovedMessage, request.Processo.NumeroProcessoUnificado); var responsaveisIDs = request.Processo.ProcessoResponsaveis.Select(a => a.ResponsavelID); var responsaveis = await _responsavelRepository.GetResponsaveisByIDsAsync(responsaveisIDs); var emails = responsaveis.Select(a => a.Email).ToArray(); _mailSender.Send(title, message, emails); }
public void SendEmail(string address, string subject, string body) { if (string.IsNullOrEmpty(_origin)) { throw new System.Exception($"Imposible to find key '{ MAIL_SENDER_KEY }' in IConfig"); } _sender.Send(_origin, new List <string> { address }, subject, body); }
private void SendMessage(MailMessage mailMessage) { try { _mailSender.Send(mailMessage); } catch (SmtpException ex) { // Log but swallow the exception ErrorSignal.FromCurrentContext().Raise(ex); } }
public void Process(AlertOpened @event) { List <DataOwner> owners = _dataOwnersRepository.Query.ToList(); var caseItem = _casesRepository.GetById(@event.Cases[0]); foreach (var owner in owners) { string message = $"Dear {owner.Name},\nAlert opened on health risk {caseItem.HealthRiskNumber} with {@event.Cases.Length} case(s). Please follow up using the Reporting module in CBS."; _mailSender.Send(owner.Email, $"CBS Alert opened", message); } }
public void SendTest() { _log.Info("Application is working"); _mailSender.SenderNotify += (message) => { _log.Info(message); }; var subject = "test logs message"; var body = "test logs"; var attachment = new string[] { "application.log" }; _mailSender.Send(subject, body, attachment); }
public void Notify(Notification notification) { var config = _keyValueStore.Get <MailerConfig>("mailer.config"); if (config == null) { _logger.Warn("Mailer not configured."); return; } _mailSender.Send(config, notification); }
private void TimerOnElapsed(object sender, ElapsedEventArgs e) { if (DateTime.Now > Scheduler.DateTimeSend) { _mailSender.Send(Scheduler.Sender.Address, Scheduler.Recipients.Select(r => r.Address), Scheduler.Message.Subject, Scheduler.Message.Text); _timer.Stop(); MissionCompleted?.Invoke(null, null); #if DEBUG Debug.WriteLine($"Отправлено запланированное на {Scheduler.DateTimeSend} письмо."); #endif } }
public bool SendReminder(wf.Action action, wf.ParameterizedActionDefinition parameter, wf.State current, Identity identity) { var body = string.Format(@"Hello Arthur! This is an reminder of an open workflow item in your inbox. Best regards, your Workflow System"); var msg = new MailMessage("*****@*****.**", "*****@*****.**", "Reminder", body); _mail.Send(msg); return(true); }
public void Send(Addressing addressing, string templateName, object model) { _mailMessage = new MailMessage(); _addressing = addressing; _templateName = templateName; _model = model; PrepareMessage(); _mailSender.Send(_mailMessage, _mailSettings); }
public CommandResult Send(MailMessage message, string attachmentPath) { if (message == null) { return(new CommandResult(String.Empty, "There is no message to send.")); } var result = new CommandResult(); _sender.Send(message, attachmentPath); return(result); }
public virtual ActionResult Create(Feedback model) { ViewBag.FeedbackSubjects = repository.All <FeedbackSubject>(); if (ModelState.IsValid) { try { model.PublishDate = DateTime.UtcNow; this.repository.Insert(model); this.repository.Save(); emailResult result; var admins = Roles.GetUsersInRole(BaseApplication.AdminRole).Select(x => { BaseProfile profile; if (BaseApplication.IsSimpleMembershipProviderConfigured()) { profile = BaseProfile.CreateProfile(this.repository, x); } else { profile = BaseProfile.CreateProfile(x); } return(profile != null ? profile.Email : string.Empty); }).Where(x => !string.IsNullOrEmpty(x)); var subject = this.repository.Find <FeedbackSubject>(model.FeedbackSubjectId).Subject; mailer.Send(string.Join(",", admins), "Feedback submitted", string.Format(@"<h3>A new comment with the category <em>{0}</em> has been posted</h3> <strong>Submitted by</strong>: {1}<br /><strong>Reply to</strong>: {2}<p>{3}</p>", subject, model.Name, model.Email, model.Comment), out result); } catch (Exception ex) { return(HttpStatusCode(System.Net.HttpStatusCode.InternalServerError, ex)); } return(Json(new { success = true, message = FormMessages.FeedbackPostSuccess, content = this.RenderPartialViewToString("list", this.repository.AllIncluding <Feedback>(x => x.FeedbackSubject).OrderByDescending(x => x.PublishDate)) })); } else { return(HttpStatusCode(System.Net.HttpStatusCode.BadRequest, new InvalidOperationException( string.Join("; ", ModelState.Values.SelectMany(x => x.Errors.Select(e => e.ErrorMessage)))))); } }
public static void SendWith(this Mail msg, IMailSender sender) { sender.Send(msg); }
public void Send(IMailSender sender) { this.Status = sender.Send(this); }