public async Task <bool> EnviarMensagemNotificacaoAsync(NotificacaoMensagemModel mensagem) { try { TwilioClient.Init(_twilioConfig.TwilioAccountSID, _twilioConfig.TwilioAuthToken); var msgResource = await MessageResource.CreateAsync( from : new PhoneNumber($"whatsapp:{_twilioConfig.TwilioWhatsappNumber}"), to : new PhoneNumber($"whatsapp:{TwilioHelper.FormatarNumeroNoPadraoDoTwilio(mensagem.Para)}"), body : mensagem.Conteudo); if (msgResource.Status == MessageResource.StatusEnum.Failed) { throw new Exception($"{msgResource.ErrorCode} - {msgResource.ErrorMessage}"); } _logger.LogInformation($"Mensagem enviada para {msgResource.To} em {DateTime.Now}"); return(true); } catch (Exception ex) { _logger.LogError(ex.Message); return(false); } }
public async Task EnviarMensagemNotificacaoAsync_ServicoNotificacaoSms_EnviarSmsParaUsuario() { var faker = new Faker("pt_BR"); var messageModel = new NotificacaoMensagemModel { De = _twilioSettings.TwilioPhoneNumber, Para = _telefoneTeste, Assunto = faker.Lorem.Sentence(), Conteudo = faker.Lorem.Paragraph(), }; var result = await _smsServico .EnviarMensagemNotificacaoAsync(messageModel); result.Should().BeTrue(); }
public async Task EnviarMensagemNotificacaoAsync_ServicoNotificacaoEmail_EnviarEmailParaUsuario() { var faker = new Faker("pt_BR"); var messageModel = new NotificacaoMensagemModel { De = _emailTeste, Para = _emailTeste, Assunto = faker.Lorem.Sentence(), Conteudo = $"Olá {faker.Person.FullName}, seja bem vindo!", }; var result = await _emailServico .EnviarMensagemNotificacaoAsync(messageModel); result.Should().BeTrue(); }
public async Task <bool> EnviarMensagemNotificacaoAsync(NotificacaoMensagemModel mensagem) { try { var msg = new MimeMessage(); msg.From.Add(MailboxAddress.Parse(mensagem.De)); msg.To.Add(MailboxAddress.Parse(mensagem.Para)); msg.Subject = mensagem.Assunto; msg.Body = new TextPart(TextFormat.Html) { Text = mensagem.Conteudo }; using var client = new SmtpClient { ServerCertificateValidationCallback = (s, c, h, e) => true }; client.Connect(_smtpConfig.SmtpAddress, _smtpConfig.SmtpPort, _smtpConfig.UseSsl); client.Authenticate(_smtpConfig.SmtpUsername, _smtpConfig.SmtpPassword); await client.SendAsync(msg); await client.DisconnectAsync(true); _logger.LogInformation($"Mensagem enviada para {msg.To} em {DateTime.Now}"); return(true); } catch (Exception ex) { _logger.LogError(ex.Message); return(false); } }
public async Task <bool> EnviarMensagemNotificacaoAsync(NotificacaoMensagemModel mensagem) { return(await _servicoNotificacao .EnviarMensagemNotificacaoAsync(mensagem)); }