public void SaveMonthlyStatementMessage(MonthlyStatementDTO token, string messageBody, out long emailId, out string error) { error = string.Empty; try { var message = new EmailMessageDTO { Subject = $"Monthly Statement for {CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(token.Month)} {token.Year}" , MessageFrom = FROM , UserId = token.User.UserId , ToEmail = token.User.Email , ToName = token.User.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = messageBody }; SaveMessage(message, out emailId); } catch (Exception ex) { error = Utils.FormatError(ex); emailId = -1; Logger.Error("save monthly statement email message", token.User.UserId, ex, CommonEnums.LoggerObjectTypes.Email); } }
public void SaveSubscriptionCancelMessage(EmailSubscriptionCancelToken token, out long emailId) { try { var html = GetTemplateHtml(EmailEnums.eTemplateKinds.AUTHOR_CANCELLATION_ALERT); var message = new EmailMessageDTO { Subject = String.Format(AUHTOR_SUBSCRIPTION_CANCEL_ALERT_SUBJECT, token.CourseName) , MessageFrom = FROM , UserId = token.UserID , ToEmail = token.ToEmail , ToName = token.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html.Replace(EmailEnums.eTemplateFields.COURSE_AUTHOR.ToString().Field2Template(), token.FullName) .Replace(EmailEnums.eTemplateFields.COURSE_NAME.ToString().Field2Template(), token.CourseName) .Replace(EmailEnums.eTemplateFields.LEARNER_NAME.ToString().Field2Template(), token.LearnerName) .Replace(EmailEnums.eTemplateFields.LEARNER_EMAIL.ToString().Field2Template(), token.LearnerEmail) .Replace(EmailEnums.eTemplateFields.FOLLOWING_MONTH.ToString().Field2Template(), token.Month) }; SaveMessage(message, out emailId); } catch (Exception ex) { emailId = -1; Logger.Error("email service::save SaveSubscriptionCancelMessage", ex, CommonEnums.LoggerObjectTypes.Email); } }
public void SaveRegistrationMessage(EmailRegistrationToken token, out long emailId) { try { var html = GetTemplateHtml(EmailEnums.eTemplateKinds.REGISTRATION); var message = new EmailMessageDTO { Subject = REGISTRATION_SUBJECT , MessageFrom = FROM , UserId = token.UserID , ToEmail = token.ToEmail , ToName = token.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html.Replace(EmailEnums.eTemplateFields.FULL_NAME.ToString().Field2Template(), token.FullName.String2Html(null, NAME_HTML_STYLE, null)) }; SaveMessage(message, out emailId); } catch (Exception ex) { emailId = -1; Logger.Error("save registration email message", null, ex, CommonEnums.LoggerObjectTypes.Email); } }
public void SaveResetPasswordMessage(EmailForgottenPasswordToken token, out long emailId, out string error) { error = string.Empty; try { var html = GetTemplateHtml(EmailEnums.eTemplateKinds.FORGOTTEN_PASSWORD); var message = new EmailMessageDTO { Subject = FORGOTTEN_PASSWORD_SUBJECT , MessageFrom = FROM , UserId = token.UserID , ToEmail = token.ToEmail , ToName = token.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html.Replace(EmailEnums.eTemplateFields.RESET_PASSWORD_LINK.ToString().Field2Template(), "<a style=\"" + NAME_HTML_BODY_STYLE_UNDERLINE + "\" href=\"" + token.ResetPasswordURL + "\" >" + "Please follow this Link" + "</a>") .Replace(EmailEnums.eTemplateFields.BASE_SITE_URL.ToString().Field2Template(), "<a style=\"" + NAME_HTML_STYLE_UNDERLINE + "\" href=\"" + Utils.GetKeyValue("baseUrl") + "\" >" + Utils.GetKeyValue("baseUrl") + "</a>") .Replace(EmailEnums.eTemplateFields.FULL_NAME.ToString().Field2Template(), token.FullName) }; SaveMessage(message, out emailId); } catch (Exception ex) { emailId = -1; error = Utils.FormatError(ex); Logger.Error("save forgotten password email message", null, ex, CommonEnums.LoggerObjectTypes.Email); } }
public void SaveStudentCertificateMessage(StudentCertificateDTO token, string messageBody, out long emailId, out string error) { error = string.Empty; try { var html = GetTemplateHtml(EmailEnums.eTemplateKinds.STUDENT_CERTIFICATE); var message = new EmailMessageDTO { Subject = String.Format(STUDENT_CERTIFICATE_SUBJECT, token.CourseName) , MessageFrom = FROM , UserId = CurrentUserId , ToEmail = token.StudentInfo.Email , ToName = token.StudentInfo.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html.Replace(EmailEnums.eTemplateFields.LEARNER_NAME.ToString().Field2Template(), token.StudentInfo.FullName) .Replace(EmailEnums.eTemplateFields.FULL_NAME.ToString().Field2Template(), token.PresentedBy) .Replace(EmailEnums.eTemplateFields.COURSE_NAME.ToString().Field2Template(), token.CourseName) .Replace(EmailEnums.eTemplateFields.ACTIVATION_LINK.ToString().Field2Template(), "<a style=\"" + NAME_HTML_STYLE_UNDERLINE + "\" href=\"" + token.OnlineCertificateUrl + "\" >Online certificate link</a>") }; SaveMessage(message, out emailId); } catch (Exception ex) { error = FormatError(ex); emailId = -1; Logger.Error("email service::SaveStudentCertificateMessage email message", ex, CommonEnums.LoggerObjectTypes.Email); } }
public void SaveGRPRefundSubmitted(EmailGRPSubmitted token, out long emailId) { try { var html = GetTemplateHtml(EmailEnums.eTemplateKinds.GRP_REFUND_SUBMITTED); html = html.Replace(EmailEnums.eTemplateFields.FULL_NAME.ToString().Field2Template(), token.FullName); html = html.Replace(EmailEnums.eTemplateFields.LEARNER_NAME.ToString().Field2Template(), token.LearnerName); html = html.Replace(EmailEnums.eTemplateFields.LEARNER_EMAIL.ToString().Field2Template(), token.LearnerEmail); html = html.Replace(EmailEnums.eTemplateFields.FREE_TEXT.ToString().Field2Template(), token.ReasonText); html = html.Replace(EmailEnums.eTemplateFields.COURSE_NAME.ToString().Field2Template(), token.ItemName); var message = new EmailMessageDTO { Subject = GRP_REFUND_SUBMITTED_SUBJECT , MessageFrom = FROM , UserId = token.UserID , ToEmail = token.ToEmail , ToName = token.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html }; SaveMessage(message, out emailId); } catch (Exception ex) { emailId = -1; Logger.Error("email service::save join refund program email message", ex, CommonEnums.LoggerObjectTypes.Email); } }
public void SaveQuizContactAuthorMessage(StudentMessageDTO token, out long emailId, out string error) { error = string.Empty; try { var html = GetTemplateHtml(EmailEnums.eTemplateKinds.QUIZ_AUTHOR_REQUEST); var message = new EmailMessageDTO { Subject = String.Format(QUIZ_CONTACT_AUTHOR_SUBJECT, token.CourseName) , MessageFrom = FROM , UserId = CurrentUserId , ToEmail = token.Author.Email , ToName = token.Author.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html.Replace(EmailEnums.eTemplateFields.LEARNER_NAME.ToString().Field2Template(), token.Student.FullName) .Replace(EmailEnums.eTemplateFields.LEARNER_EMAIL.ToString().Field2Template(), "<a style=\"" + NAME_HTML_STYLE_UNDERLINE + "\" href=\"mailto:" + token.Student.Email + "\" >" + token.Student.Email + "</a>") .Replace(EmailEnums.eTemplateFields.QUIZ_NAME.ToString().Field2Template(), token.QuizTitle) .Replace(EmailEnums.eTemplateFields.FREE_TEXT.ToString().Field2Template(), token.Message) }; SaveMessage(message, out emailId); } catch (Exception ex) { error = FormatError(ex); emailId = -1; Logger.Error("email service::SaveQuizContactAuthorMessage email message", ex, CommonEnums.LoggerObjectTypes.Email); } }
public Task SendEmail(EmailMessageDTO emailMessage) { using (SmtpClient client = new SmtpClient("smtp.mail.ru", 457)) { return(client.SendMailAsync("*****@*****.**", emailMessage.To, emailMessage.Title, emailMessage.Text)); } }
public Task SendEmail(EmailMessageDTO emailMessage) { // отправитель - устанавливаем адрес и отображаемое в письме имя MailAddress from = new MailAddress("*****@*****.**", "Tom"); // кому отправляем MailAddress to = new MailAddress(emailMessage.To); // создаем объект сообщения MailMessage m = new MailMessage(from, to); // тема письма m.Subject = emailMessage.Title; // текст письма m.Body = emailMessage.Text; // письмо представляет код html m.IsBodyHtml = true; // адрес smtp-сервера и порт, с которого будем отправлять письмо SmtpClient smtp = new SmtpClient("smtp.mail.ru", 587); // логин и пароль smtp.Credentials = new NetworkCredential("*****@*****.**", "DeNiS300402"); smtp.EnableSsl = true; //return smtp.SendAsync(, m.To,emailMessage.Title,emailMessage.Text); return(smtp.SendMailAsync(m)); //еще какие то настройки //return smtp.SendMailAsync("*****@*****.**", emailMessage.To, emailMessage.Title, emailMessage.Text); }
public void SaveJoinRefundProgramMessage(EmailBaseToken token, out long emailId) { try { var html = GetTemplateHtml(EmailEnums.eTemplateKinds.REFUND_PROGRAM_CONFIRMATION); var message = new EmailMessageDTO { Subject = REFUND_PROGRAM_JOIN_SUBJECT , MessageFrom = FROM , UserId = token.UserID , ToEmail = token.ToEmail , ToName = token.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html.Replace(EmailEnums.eTemplateFields.FULL_NAME.ToString().Field2Template(), token.FullName) }; SaveMessage(message, out emailId); } catch (Exception ex) { emailId = -1; Logger.Error("email service::save join refund program email message", ex, CommonEnums.LoggerObjectTypes.Email); } }
public void SaveQuizAuthorResponseMessage(StudentMessageDTO token, out long emailId, out string error) { error = string.Empty; try { var html = GetTemplateHtml(EmailEnums.eTemplateKinds.QUIZ_AUTHOR_RESPONSE); var message = new EmailMessageDTO { Subject = String.Format(QUIZ_AUTHOR_RESPONSE_SUBJECT, token.QuizTitle) , MessageFrom = FROM , UserId = CurrentUserId , ToEmail = token.Student.Email , ToName = token.Student.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html.Replace(EmailEnums.eTemplateFields.LEARNER_NAME.ToString().Field2Template(), token.Student.FullName) .Replace(EmailEnums.eTemplateFields.COURSE_AUTHOR.ToString().Field2Template(), token.Author.FullName) .Replace(EmailEnums.eTemplateFields.QUIZ_NAME.ToString().Field2Template(), token.QuizTitle) .Replace(EmailEnums.eTemplateFields.QUIZ_ATTEMPT_NO.ToString().Field2Template(), token.AvailableAttempts.ToString()) }; SaveMessage(message, out emailId); } catch (Exception ex) { error = FormatError(ex); emailId = -1; Logger.Error("email service::SaveQuizAuthorResponseMessage email message", ex, CommonEnums.LoggerObjectTypes.Email); } }
public Task SendEmail(EmailMessageDTO emailMessage) { using (SmtpClient client = new SmtpClient("smpt.gmail.com", 465)) { // еще что-то return(client.SendMailAsync("*****@*****.**", emailMessage.To, emailMessage.Title, emailMessage.Text)); } }
public Task CreateEmailMessageAsync(EmailMessageDTO emailMessage) { return(AddOrUpdateAsync(new EmailMessage { From = emailMessage.From, Tos = emailMessage.Tos, CCs = emailMessage.CCs, BCCs = emailMessage.BCCs, Subject = emailMessage.Subject, Body = emailMessage.Body, })); }
public void Send(EmailMessageDTO emailMessage) { var client = new SendGridClient(_options.ApiKey); var from = new EmailAddress(!string.IsNullOrWhiteSpace(_options.OverrideFrom) ? _options.OverrideFrom : emailMessage.From); var tos = (!string.IsNullOrWhiteSpace(_options.OverrideTos) ? _options.OverrideTos : emailMessage.Tos)?.Split(';') .Where(x => !string.IsNullOrWhiteSpace(x)) .Select(x => new EmailAddress(x)) .ToList(); var msg = MailHelper.CreateSingleEmailToMultipleRecipients(from, tos, emailMessage.Subject, string.Empty, emailMessage.Body, showAllRecipients: true); var response = client.SendEmailAsync(msg).GetAwaiter().GetResult(); }
public static EMAIL_Messages Dto2EmailMesageEntity(this EmailMessageDTO token) { return(new EMAIL_Messages { Subject = token.Subject , UserId = token.UserId , MessageFrom = token.MessageFrom , ToEmail = token.ToEmail , ToName = token.ToName , MessageBoby = token.MessageBody , Status = token.Status.ToString() , AddOn = token.AddOn }); }
public async Task <IActionResult> SendEmail(string to, string title, string text) { EmailMessageDTO emailMessage = new EmailMessageDTO { To = to, Text = text, Title = title }; //еще какие то настройки //var emailSender = new EmailSenderServies(); //await emailSender.SendEmail(emailMessage); await emailSender.SendEmail(emailMessage); return(Ok()); }
public Task SendEmail(EmailMessageDTO emailMessage) { SmtpClient _smtp = new SmtpClient("smtp.yandex.ru", 25); _smtp.Credentials = new NetworkCredential("*****@*****.**", "5343454karp99"); _smtp.EnableSsl = true; MailMessage _mail = new MailMessage(); _mail.From = new MailAddress("*****@*****.**"); _mail.To.Add(new MailAddress(emailMessage.To)); _mail.SubjectEncoding = Encoding.UTF8; _mail.BodyEncoding = Encoding.UTF8; _mail.Subject = emailMessage.Title; _mail.Body = emailMessage.Text; return(_smtp.SendMailAsync(_mail)); }
public void Send(EmailMessageDTO emailMessage) { var mail = new MailMessage(); mail.From = new MailAddress(emailMessage.From); emailMessage.Tos?.Split(';') .Where(x => !string.IsNullOrWhiteSpace(x)) .ToList() .ForEach(x => mail.To.Add(x)); emailMessage.CCs?.Split(';') .Where(x => !string.IsNullOrWhiteSpace(x)) .ToList() .ForEach(x => mail.CC.Add(x)); emailMessage.BCCs?.Split(';') .Where(x => !string.IsNullOrWhiteSpace(x)) .ToList() .ForEach(x => mail.Bcc.Add(x)); mail.Subject = emailMessage.Subject; mail.Body = emailMessage.Body; mail.IsBodyHtml = true; var smtpClient = new System.Net.Mail.SmtpClient(_options.Host); if (_options.Port.HasValue) { smtpClient.Port = _options.Port.Value; } if (!string.IsNullOrWhiteSpace(_options.UserName) && !string.IsNullOrWhiteSpace(_options.Password)) { smtpClient.Credentials = new System.Net.NetworkCredential(_options.UserName, _options.Password); } if (_options.EnableSsl.HasValue) { smtpClient.EnableSsl = _options.EnableSsl.Value; } smtpClient.Send(mail); }
public Task SendEmail(EmailMessageDTO emailMessage) { MailMessage mail = new MailMessage(); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(new MailAddress(emailMessage.To)); mail.Subject = emailMessage.Title; mail.Body = emailMessage.Text; SmtpClient client = new SmtpClient(); client.Host = "smtp.yandex.ru"; client.Port = 587; client.EnableSsl = true; client.Credentials = new NetworkCredential("*****@*****.**", "AzatMukushman123"); return(client.SendMailAsync(mail)); }
private void SaveMessage(EmailMessageDTO messageToken, out long emailId) { try { var entity = messageToken.Dto2EmailMesageEntity(); EmailMessageRepository.Add(entity); EmailMessageRepository.UnitOfWork.CommitAndRefreshChanges(); emailId = entity.EmailId; } catch (Exception ex) { emailId = -1; Logger.Error("save email message", null, ex, CommonEnums.LoggerObjectTypes.Email); } }
public Task SendAsync(EmailMessageDTO emailMessage) { MailMessage mail = new MailMessage(); SmtpClient smtpServer = new SmtpClient("smtp.mail.ru"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(emailMessage.To); mail.Subject = emailMessage.Title; mail.Body = emailMessage.Text; smtpServer.Port = 465; smtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "radle689391"); smtpServer.EnableSsl = true; smtpServer.SendMailAsync(mail); return(Task.CompletedTask); }
public async Task <Response> SendResetPasswordEmail(string email, string code) { var args = new Dictionary <string, string> { { "{{Code}}", code }, { "{{ResetPasswordUrl}}", _urls.ResetPasswordUrl } }; var mailNotificationModel = new EmailMessageDTO { Html = true, Subject = "Reset password", Args = args, TemplateId = TemplateId.ResetPassword, ToEmails = new [] { email }, }; return(await SendEmail(mailNotificationModel)); }
public async Task <Response> SendConfirmNewAdminMailboxEmail(string newEmail, string code) { var args = new Dictionary <string, string> { { "{{Code}}", code }, { "{{ConfirmAdminNewMailboxUrl}}", _urls.ConfirmAdminNewMailboxUrl } }; var mailNotificationModel = new EmailMessageDTO { Html = true, Subject = "Confirm email", Args = args, TemplateId = TemplateId.ConfirmAdminNewMailbox, ToEmails = new [] { newEmail }, }; return(await SendEmail(mailNotificationModel)); }
public async Task <Response> SendEmail(EmailMessageDTO message) { var templatePath = $"{_fileDirectoryPath.EmailTemplatePath}/{message.TemplateId}.html"; var mailNotificationModel = new MailNotificationModel { Body = message.Body, Html = message.Html, Subject = message.Subject, Args = message.Args, TemplatePath = message.TemplateId != null ? $"{_fileDirectoryPath.EmailTemplatePath}/{message.TemplateId}.html" : null, ToAddresses = message.ToEmails, FromName = message.FromName }; return(await SendEmail(mailNotificationModel)); }
public async Task <Response> SendInviteEmail(string email, string authorName, string entityName, string entityType, string code) { var args = new Dictionary <string, string> { { "{{Code}}", code }, { "{{InviteUserPageUrl}}", _urls.InviteUserPageUrl }, { "{{AuthorName}}", authorName }, { "{{EntityName}}", entityName }, { "{{EntityType}}", entityType } }; var mailNotificationModel = new EmailMessageDTO { Html = true, Subject = "Invite to squad.io", Args = args, TemplateId = TemplateId.InviteUser, ToEmails = new [] { email }, }; return(await SendEmail(mailNotificationModel)); }
public static bool NewMessage(EmailMessageDTO message) { try { Outlook.Application outlook = new Outlook.Application(); Outlook._MailItem email = (Outlook._MailItem)outlook.CreateItem(Outlook.OlItemType.olMailItem); foreach (string address in message.ToRecipients) { Outlook.Recipient recipient = email.Recipients.Add(address); recipient.Type = (int)Outlook.OlMailRecipientType.olTo; recipient.Resolve(); } foreach (string address in message.CcRecipients) { Outlook.Recipient recipient = email.Recipients.Add(address); recipient.Type = (int)Outlook.OlMailRecipientType.olCC; recipient.Resolve(); } email.Subject = message.Subject; email.Body = message.Body; foreach (string attachment in message.Attachments) { email.Attachments.Add(attachment, Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing); } email.Display(false); } catch (Exception ex) { Debugger.Break(); return(false); } return(true); }
private void SavePurchaseAuthor(EmailPurchaseToken token, bool send) { try { var html = token.PaymentMethod == BillingEnums.ePaymentMethods.Charge_Free && token.Coupon == null?GetTemplateHtml(EmailEnums.eTemplateKinds.PURCHASE_AUTHOR_FREE) : GetTemplateHtml(EmailEnums.eTemplateKinds.PURCHASE_AUTHOR); var authorMessage = new EmailMessageDTO { Subject = String.Format(PURCHASE_AUTHOR_SUBJECT, token.Item.type.ToString().ToLower()) , MessageFrom = FROM , UserId = token.Seller.UserId , ToEmail = token.Seller.Email , ToName = token.Seller.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html.Replace(EmailEnums.eTemplateFields.COURSE_AUTHOR.ToString().Field2Template(), token.Seller.FullName) .Replace(EmailEnums.eTemplateFields.COURSE_NAME.ToString().Field2Template(), token.Item.name) .Replace(EmailEnums.eTemplateFields.ITEM_TYPE_NAME.ToString().Field2Template(), token.Item.type.ToString().ToLower()) .Replace(EmailEnums.eTemplateFields.FULL_NAME.ToString().Field2Template(), token.Buyer.FullName) .Replace(EmailEnums.eTemplateFields.PURCHASE_DATE.ToString().Field2Template(), token.SentDate.ToShortDateString() + " " + token.SentDate.ToShortTimeString()) }; long emailId; SaveMessage(authorMessage, out emailId); if (emailId < 0 || !send) { return; } string error; _amazonEmailWrapper.SendEmail(emailId, out error); } catch (Exception ex) { Logger.Error("save purchase author email message", null, ex, CommonEnums.LoggerObjectTypes.Email); } }
public async Task <IActionResult> SendEmail(EmailMessageDTO emailMessage) { await emailSenderService.SendAsync(emailMessage); return(Ok()); }
public MessageEventArgs(EmailMessageDTO message) { Message = message; }
public void SendEmail(EmailMessageDTO message) { emailQueue.Enqueue(message); }