public bool SendMail(MailMessageDto mailMessageDtol) { bool control = true; try { MailMessage mail = new MailMessage(); using (SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com", 587)) { mail.From = new MailAddress(mailMessageDtol.From); mail.To.Add(mailMessageDtol.To); mail.Subject = mailMessageDtol.Subject; mail.Body = mailMessageDtol.Body; SmtpServer.Credentials = new System.Net.NetworkCredential("mail adresiniz", "şifreniz"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } } catch (Exception ex) { control = false; throw new Exception(ex.Message); } return(control); }
public static SendGridMessage ToSendGridMessage(this MailMessageDto dto) { if (dto.Sender != null) { throw new NotSupportedException("Sender header is not supported by SendGrid."); } if ((dto.ReplyTo?.Count ?? 0) > 1) { throw new NotSupportedException("Only one Reply-To header is supported by SendGrid."); } var msg = new SendGridMessage(); // Add standard header fields msg.From = dto.From.ToEmailAddress(); if (dto.To.Any()) { msg.AddTos(dto.To.ToEmailAddress()); } if (dto.Cc.Any()) { msg.AddCcs(dto.Cc.ToEmailAddress()); } if (dto.Bcc.Any()) { msg.AddBccs(dto.Bcc.ToEmailAddress()); } msg.ReplyTo = dto.ReplyTo.FirstOrDefault().ToEmailAddress(); msg.Subject = dto.Subject; // Add custom header fields foreach (var item in dto.CustomHeaders) { msg.Headers.Add(item.Key, item.Value); } // Construct body if (!string.IsNullOrWhiteSpace(dto.BodyText)) { msg.PlainTextContent = dto.BodyText; } if (!string.IsNullOrWhiteSpace(dto.BodyHtml)) { msg.HtmlContent = dto.BodyHtml; } // Add attachments foreach (var item in dto.Attachments) { // Get stream as byte array var data = new byte[item.Stream.Length]; item.Stream.Read(data, 0, (int)item.Stream.Length); // Base64 encode var encodedData = Convert.ToBase64String(data, 0, data.Length); msg.AddAttachment(item.Name, encodedData, item.MimeType); } return(msg); }
public bool SendMail(MailMessageDto mailMessageDtol) { bool control = true; try { MailMessage mail = new MailMessage(); using (SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com", 587)) { mail.From = new MailAddress(mailMessageDtol.From); mail.To.Add(mailMessageDtol.To); mail.Subject = mailMessageDtol.Subject; mail.Body = mailMessageDtol.Body; //SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Oguzhan.3455"); SmtpServer.EnableSsl = true; //SmtpServer.UseDefaultCredentials = false; SmtpServer.Send(mail); } } catch (Exception ex) { control = false; throw new Exception(ex.Message); } return(control); }
//Email private string CheckSendEmail(MailMessageDto dtoMailMessage) { string result = null; if (dtoMailMessage.From == null || String.IsNullOrEmpty(dtoMailMessage.From.Address)) { result = CommonSettingsAplication.Default.MESSFromAddress; } if (dtoMailMessage.To == null || dtoMailMessage.To.Count() == 0) { result = CommonSettingsAplication.Default.MESSToAddress; } if (dtoMailMessage.MessageAttachment != null) { dtoMailMessage.MessageAttachment.ForEach(filename => { if (String.IsNullOrEmpty(filename)) { result = "Attachment file not found"; } }); } return(result); }
private static async Task SendMailWithOptions_Test() { var options = new SendGridMailerServiceOptions { BodyHtmlFormat = "<html><body>{0}<hr/>This is footer</body></html>", BodyTextFormat = "{0}\r\n--\r\nThis is footer", SubjectFormat = "[test] {0}", DefaultFrom = new MailAddressDto("*****@*****.**", "Example From"), ApiKey = _apiKey }; var mx = new SendGridMailerService(options); var msg = new MailMessageDto { Subject = "Žluťoučký kůň úpěl ďábelské ódy - subject", BodyText = "Žluťoučký kůň úpěl ďábelské ódy - text.", BodyHtml = "<p>Žluťoučký kůň úpěl ďábelské ódy <b>v HTML</b>.</p>" }; msg.To.Add(new MailAddressDto("*****@*****.**", "Example Recipient")); using (var ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes("Test attachment file"))) { msg.Attachments.Add(new AttachmentDto { Name = "attachment.txt", MimeType = "text/plain", Stream = ms }); await mx.SendMessageAsync(msg); } }
protected override async Task SendMessageAsyncInternal(MailMessageDto message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } // Get MIME message var msg = message.ToMimeMessage(); // Send message using (var mx = new SmtpClient()) { await mx.ConnectAsync(this.HostName, this.Port, AllowSsl?SecureSocketOptions.Auto : SecureSocketOptions.None); if (this.AllowSsl) { mx.ServerCertificateValidationCallback = this.ServerCertificateValidationCallback; } if (!string.IsNullOrEmpty(this.UserName) && !string.IsNullOrEmpty(this.Password)) { await mx.AuthenticateAsync(this.UserName, this.Password); } await mx.SendAsync(msg); await mx.DisconnectAsync(true); } }
public async Task SendMailWithOptions_Test() { var options = new PickupFolderMailerServiceOptions { BodyHtmlFormat = "<html><body>{0}<hr/>This is footer</body></html>", BodyTextFormat = "{0}\r\n--\r\nThis is footer", SubjectFormat = "[test] {0}", DefaultFrom = new MailAddressDto("*****@*****.**", "Example From"), DefaultSender = new MailAddressDto("*****@*****.**", "Example Sender"), PickupFolderName = CreateTempFolder("options") }; var mx = new PickupFolderMailerService(options); var msg = new MailMessageDto { Subject = "ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy - subject", BodyText = "ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy - text.", BodyHtml = "<p>ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy <b>v HTML</b>.</p>" }; msg.To.Add(new MailAddressDto("*****@*****.**", "Example Recipient")); using (var ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes("Test attachment file"))) { msg.Attachments.Add(new AttachmentDto { Name = "attachment.txt", MimeType = "text/plain", Stream = ms }); await mx.SendMessageAsync(msg); } Assert.True(EmlFileExists(mx.PickupFolderName)); }
//public static void SendMailRegisterJobs(int userId) //{ // Hangfire.BackgroundJob.Schedule<EmailSendingScheduleJobManager> // ( // job => job.Process(new Entities.MailMessageDto { Body = "test", From = "oguzhan", Subject = "selam", To = "aa" }), // TimeSpan.FromSeconds(10) // ); //} public static void SendMailJob(MailMessageDto mailMessageDto) { Hangfire.BackgroundJob.Enqueue <EmailSendingScheduleJobManager> ( job => job.Process(mailMessageDto) ); }
public async Task <bool> SentMail(MailUserDto Sender, MailUserDto receiver, MailMessageDto messageDto) { try { var LoginedAccount = await LoginUserHelperManager.GetCurrentUser(); var message = new MimeMessage(); message.From.Add(new MailboxAddress(Sender.Username, Sender.Mail)); message.To.Add(new MailboxAddress(receiver.Username, receiver.Mail)); message.Subject = messageDto.subject; message.Body = new TextPart("plain") { Text = messageDto.text }; using (SmtpClient client = new SmtpClient()) { client.Connect("smtp.gmail.com", 587, false); client.Authenticate("*****@*****.**", "asdasd123A@"); client.Send(message); client.Disconnect(true); } return(true); } catch (Exception ex) { return(false); } }
public SendMailViewModel(IMessageService <bool> messageService, IFileDialogService <FileObject> fileDialogService) : base(messageService) { _mailObject = new MailMessageDto(); _fileService = fileDialogService; _fileNames = new ObservableCollection <string>(); }
public async Task SendMailAsync(MailMessageDto mailMessageDto) { MailMessage mailMessage = mailMessageDto.GetMailMessage(); mailMessage.From = new MailAddress(_smtpConfigDto.User); using var client = CreateSmtpClient(); await client.SendMailAsync(mailMessage); }
public async Task SendMail(MailMessageDto mailMessageDto) { using var client = CreateSmtpClient(); mailMessageDto.From = _smtpConfigDto.User; MailMessage mailMessage = mailMessageDto.GetMailMessage(); mailMessage.IsBodyHtml = true; await client.SendMailAsync(mailMessage); }
private static async Task SendHtmlMail_Test() { var mx = new SendGridMailerService(_apiKey); var msg = new MailMessageDto { From = new MailAddressDto("*****@*****.**", "Example Sender"), Subject = "Žluťoučký kůň úpěl ďábelské ódy - subject", BodyHtml = "<html><body><p>Žluťoučký kůň úpěl ďábelské ódy <b>v HTML</b>.</p></body></html>" }; msg.To.Add(new MailAddressDto("*****@*****.**", "Example Recipient")); await mx.SendMessageAsync(msg); }
private static async Task SendPlainTextMail_Test() { var mx = new SendGridMailerService(_apiKey); var msg = new MailMessageDto { From = new MailAddressDto("*****@*****.**", "Example Sender"), Subject = "Žluťoučký kůň úpěl ďábelské ódy - subject", BodyText = "Žluťoučký kůň úpěl ďábelské ódy - text." }; msg.To.Add(new MailAddressDto("*****@*****.**", "Example Recipient")); await mx.SendMessageAsync(msg); }
public async Task Process(Tasks tasks) { MailMessageDto _mailMessageDto = new MailMessageDto { Body = "Upcoming Task : " + tasks.Name, To = "*****@*****.**", Subject = "All Tasks Details", }; await _mailService.SendMail(_mailMessageDto); }
public async Task SendHtmlMail_Test() { var mx = new PickupFolderMailerService(CreateTempFolder("html")); var msg = new MailMessageDto { From = new MailAddressDto("*****@*****.**", "Example Sender"), Subject = "ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy - subject", BodyHtml = "<html><body><p>ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy <b>v HTML</b>.</p></body></html>" }; msg.To.Add(new MailAddressDto("*****@*****.**", "Example Recipient")); await mx.SendMessageAsync(msg); Assert.True(EmlFileExists(mx.PickupFolderName)); }
public async Task SendPlainTextMail_Test() { var mx = new PickupFolderMailerService(CreateTempFolder("plain")); var msg = new MailMessageDto { From = new MailAddressDto("*****@*****.**", "Example Sender"), Subject = "ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy - subject", BodyText = "ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy - text." }; msg.To.Add(new MailAddressDto("*****@*****.**", "Example Recipient")); await mx.SendMessageAsync(msg); Assert.True(EmlFileExists(mx.PickupFolderName)); }
public async Task <IActionResult> OnPostAsync() { if (!this.ModelState.IsValid) { return(this.Page()); } // Check if the address is really changed var user = await this._userManager.GetUserAsync(this.User); if (user.Email.Equals(this.Input.NewEmail, StringComparison.OrdinalIgnoreCase)) { return(this.Page()); } // Check password var passwordCorrect = await this._userManager.CheckPasswordAsync(user, this.Input.Password); if (!passwordCorrect) { this.ModelState.AddModelError(string.Empty, "Pøihlášení se nezdaøilo"); return(this.Page()); } // Get email change token var token = await this._userManager.GenerateChangeEmailTokenAsync(user, this.Input.NewEmail); // Get email change confirmation URL var url = this.Url.Page("ChangeEmailConfirm", pageHandler: null, values: new { newEmail = this.Input.NewEmail, token = token }, protocol: this.Request.Scheme); // Send message var msg = new MailMessageDto { Subject = "Potvrzení zmìny e-mailové adresy", BodyText = "Zmìnu e-mailové adresy prosím potvrïte na následující adrese:\r\n" + url }; msg.To.Add(new MailAddressDto(this.Input.NewEmail)); await this._mailerService.SendMessageAsync(msg); return(this.RedirectToPage("ChangeEmailDone")); }
protected async void SendMail(string email) { try { MailMessageDto mailDto = _controller.ResolveView <SendMailView, SendMailViewModel>() .RunDialogWithResult(vm => vm.MailObject); if (mailDto != null) { await _mailService.SendMail(email, mailDto.Subject, mailDto.Text, mailDto.Attachments.ToArray()); } } catch (Exception ex) { MessageService.ShowError(ex.Message); } }
public async Task <ActionResult> OnPostAsync() { // Validate form if (!this.ModelState.IsValid) { return(this.Page()); } // Try to create user var newUser = new ShopUser { UserName = this.Input.UserName, Email = this.Input.Email, FullName = this.Input.FullName }; var result = await this._userManager.CreateAsync(newUser, this.Input.Password); if (!result.Succeeded) { foreach (var error in result.Errors) { this.ModelState.AddModelError(string.Empty, error.Description); } return(this.Page()); } // Get email confirmation token var token = await this._userManager.GenerateEmailConfirmationTokenAsync(newUser); // Get email confirmation URL var url = this.Url.Page("/Account/ConfirmEmail", pageHandler: null, values: new { userId = newUser.Id, token = token }, protocol: this.Request.Scheme); // Send email confirmation message var msg = new MailMessageDto { Subject = "Potvrzení e-mailové adresy", BodyText = "Pro registraci potvrďte svůj e-mail na následující adrese:\r\n" + url }; msg.To.Add(new MailAddressDto(newUser.Email)); await this._mailerService.SendMessageAsync(msg); return(this.RedirectToPage("RegisterDone")); }
protected override async Task SendMessageAsyncInternal(MailMessageDto message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } // Convert to message var msg = message.ToMailMessage(); // Send using pickup folder using (var mx = new SmtpClient { DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory, PickupDirectoryLocation = this.PickupFolderName, }) { await mx.SendMailAsync(msg); } }
private static async Task SendMailWithAttachment_Test() { var mx = new SendGridMailerService(_apiKey); var msg = new MailMessageDto { From = new MailAddressDto("*****@*****.**", "Example Sender"), Subject = "Žluťoučký kůň úpěl ďábelské ódy - subject", BodyText = "Žluťoučký kůň úpěl ďábelské ódy - text.", BodyHtml = "<html><body><p>Žluťoučký kůň úpěl ďábelské ódy <b>v HTML</b>.</p></body></html>" }; msg.To.Add(new MailAddressDto("*****@*****.**", "Example Recipient")); using (var ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes("Test attachment file"))) { msg.Attachments.Add(new AttachmentDto { Name = "attachment.txt", MimeType = "text/plain", Stream = ms }); await mx.SendMessageAsync(msg); } }
protected override async Task SendMessageAsyncInternal(MailMessageDto message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } // Convert to message var msg = message.ToSendGridMessage(); // Send message var mx = new SendGridClient(this.ApiKey); var response = await mx.SendEmailAsync(msg); if (response.StatusCode != System.Net.HttpStatusCode.Accepted) { throw new SendGridException($"SendGrid returned HTTP Status code {response.StatusCode}.", response); } }
public async Task Process() { var planedAndDoneTasks = _taskService.GetAll(x => x.Status == true && x.DueDate > DateTime.Now); var planedAndNoDoneTasks = _taskService.GetAll(x => x.Status == true && x.DueDate < DateTime.Now); var planedAndCancelTasks = _taskService.GetAll(x => x.Status == false); MailMessageDto _mailMessageDto = new MailMessageDto { Body = "Scheduled and Completed Tasks : " + planedAndDoneTasks + " \n Scheduled and Incomplete Tasks : " + planedAndNoDoneTasks + " \n Scheduled and Canceled Tasks : " + planedAndCancelTasks, To = "*****@*****.**", Subject = "All Tasks Details", }; await _mailService.SendMail(_mailMessageDto); }
public async Task SendUserRegisterMailAsync(int userId) { using var client = CreateSmtpClient(); var userInfo = _userService.GetByUserId(userId); MailMessageDto mailMessageDto = new MailMessageDto { Body = "Kayıt işleminizi tamamlamak için " + "<a href='https://aktiflinkadresi/Account/UserRegisterCheck?reqUrl=*" + userInfo.UserGuid.ToString() + "'>linke</a> tıklayınız.", To = userInfo.Email, Subject = "Kullanıcı Register Islemi Kontrol", From = _smtpConfigDto.User }; MailMessage mailMessage = mailMessageDto.GetMailMessage(); mailMessage.IsBodyHtml = true; await client.SendMailAsync(mailMessage); }
public async Task SendMailWithAttachment_Test() { var mx = new PickupFolderMailerService(CreateTempFolder("attachment")); var msg = new MailMessageDto { From = new MailAddressDto("*****@*****.**", "Example Sender"), Subject = "ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy - subject", BodyText = "ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy - text.", BodyHtml = "<html><body><p>ОluЭouшk¤ k∙Є ·pьl ясbelskщ єdy <b>v HTML</b>.</p></body></html>" }; msg.To.Add(new MailAddressDto("*****@*****.**", "Example Recipient")); using (var ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes("Test attachment file"))) { msg.Attachments.Add(new AttachmentDto { Name = "attachment.txt", MimeType = "text/plain", Stream = ms }); await mx.SendMessageAsync(msg); } Assert.True(EmlFileExists(mx.PickupFolderName)); }
protected MailMessageDto ExpandTemplatedMessage(TemplatedMailMessageDto templateMessage, object values, string subjectTemplate, string bodyTextTemplate = null, string bodyHtmlTemplate = null, CultureInfo culture = null) { if (templateMessage == null) { throw new ArgumentNullException(nameof(templateMessage)); } if (values == null) { throw new ArgumentNullException(nameof(values)); } if (subjectTemplate == null) { throw new ArgumentNullException(nameof(subjectTemplate)); } if (string.IsNullOrWhiteSpace(subjectTemplate)) { throw new ArgumentException("Value cannot be empty or whitespace only string.", nameof(subjectTemplate)); } if (string.IsNullOrWhiteSpace(bodyTextTemplate) && string.IsNullOrWhiteSpace(bodyHtmlTemplate)) { throw new ArgumentException($"At least one of {nameof(bodyTextTemplate)} and {nameof(bodyHtmlTemplate)} must be non-empty string."); } var r = new TemplateReplacer(values, culture ?? CultureInfo.CurrentCulture); var newMessage = new MailMessageDto { Subject = r.ReplacePlaceholders(subjectTemplate), BodyText = r.ReplacePlaceholders(bodyTextTemplate), BodyHtml = r.ReplacePlaceholders(bodyHtmlTemplate), Attachments = templateMessage.Attachments, Bcc = templateMessage.Bcc, Cc = templateMessage.Cc, CustomHeaders = templateMessage.CustomHeaders, From = templateMessage.From, Sender = templateMessage.Sender, ReplyTo = templateMessage.ReplyTo, To = templateMessage.To }; return(newMessage); }
public static MimeMessage ToMimeMessage(this MailMessageDto dto) { var msg = new MimeMessage(); // Add standard header fields msg.From.Add(dto.From.ToMailboxAddress()); msg.To.AddRange(dto.To.ToMailboxAddress()); msg.Cc.AddRange(dto.Cc.ToMailboxAddress()); msg.Bcc.AddRange(dto.Bcc.ToMailboxAddress()); msg.Sender = dto.Sender.ToMailboxAddress(); msg.ReplyTo.AddRange(dto.ReplyTo.ToMailboxAddress()); msg.Subject = dto.Subject; // Add custom header fields foreach (var item in dto.CustomHeaders) { msg.Headers.Add(item.Key, item.Value); } // Construct body var bb = new BodyBuilder { TextBody = dto.BodyText, HtmlBody = dto.BodyHtml }; // Add attachments foreach (var item in dto.Attachments) { var r = ContentType.TryParse(item.MimeType, out var ct); if (!r) { ct = new ContentType("application", "octet-stream"); } bb.Attachments.Add(item.Name, item.Stream, ct); } msg.Body = bb.ToMessageBody(); return(msg); }
public async Task <IActionResult> SendMail([FromServices] ISendMailService mailService, string mail, string name, string subject, string maintext) { var user = await LoginUserHelperManager.GetCurrentUser(); MailUserDto Receiver = new MailUserDto() { Mail = mail, Username = mail, }; MailUserDto Sender = new MailUserDto() { Mail = user.User.Mail, Username = user.UserName }; MailMessageDto Message = new MailMessageDto { subject = subject, text = maintext, }; await mailService.SentMail(Sender, Receiver, Message); return(RedirectToAction("StudentView")); }
public async Task <IActionResult> ForgotenPassword([FromServices] ISendMailService mailService, [FromServices] ISchoolHelperManager manager, string username) { var ReceiveAccount = await manager.SearchAccount(username); MailUserDto Receiver = new MailUserDto() { Username = username, Mail = ReceiveAccount.User.Mail }; MailUserDto Sender = new MailUserDto() { Username = "******", Mail = "*****@*****.**", }; MailMessageDto Message = new MailMessageDto() { subject = "Password", text = $"Your password is {ReceiveAccount.Password}" }; await mailService.SentMail(Sender, Receiver, Message); return(RedirectToAction("Login")); }