public async Task <(bool resultado, string mensajeError)> EnviarEmail(SendGridData data)
        {
            try
            {
                var sendGridCliente  = new SendGridClient(data.SendGridAPIKey);
                var destinatario     = new EmailAddress(data.EmailDestinatario, data.NombreDestinatario);
                var tituloEmail      = data.Titulo;
                var sender           = new EmailAddress("*****@*****.**", "Jose Colque");
                var contenidoMensaje = data.Contenido;

                var objMensaje = MailHelper.CreateSingleEmail(sender, destinatario, tituloEmail, contenidoMensaje, contenidoMensaje);

                var resultado = await sendGridCliente.SendEmailAsync(objMensaje);

                if (resultado.IsSuccessStatusCode)
                {
                    return(true, null);
                }
                else
                {
                    throw new Exception("Fallo en el envío del mensaje.");
                }
            }
            catch (Exception ex)
            {
                return(false, ex.Message);
            }
        }
        public static SendGridData CreateSendGridData(Email email)
        {
            SendGridData sgd = new SendGridData
            {
                personalizations = new List <RecipientGroup>(),
                from             = new EmailCredential {
                    email = email.From
                },
                subject = email.Subject,
                content = new List <EmailContent>()
            };
            RecipientGroup group = new RecipientGroup();

            sgd.personalizations.Add(group);
            addRecipientGroup(group, (rg) => { rg.to = new List <EmailCredential>(); }, (rg, addr) => { rg.to.Add(new EmailCredential {
                    email = addr
                }); }, email.Tos);
            addRecipientGroup(group, (rg) => { rg.cc = new List <EmailCredential>(); }, (rg, addr) => { rg.cc.Add(new EmailCredential {
                    email = addr
                }); }, email.Ccs);
            addRecipientGroup(group, (rg) => { rg.bcc = new List <EmailCredential>(); }, (rg, addr) => { rg.bcc.Add(new EmailCredential {
                    email = addr
                }); }, email.Bccs);
            sgd.content.Add(new EmailContent {
                type = "text/plain", value = email.Content
            });
            return(sgd);
        }
示例#3
0
        public async Task Handle(EmailEventQueue @event)
        {
            _logger.LogInformation($"Message from RabbitMQ { @event.Subject }");
            var objData = new SendGridData();

            objData.Content        = @event.Content;
            objData.EmailTo        = @event.To;
            objData.NameTo         = @event.To;
            objData.Subject        = @event.Subject;
            objData.SendGridApiKey = _conf["SendGrid:ApiKey"];
            var result = await _sendGridSend.SendEmail(objData);

            if (result.result)
            {
                await Task.CompletedTask;
                return;
            }
        }
示例#4
0
        public async Task <(bool resultado, string errorMensaje)> EnviarEmail(SendGridData data)
        {
            try {
                var sendGridCliente  = new SendGridClient(data.SendGridAPiKey);
                var destinatario     = new EmailAddress(data.EmailDestinatario, data.NombreDestinatario);
                var titulo           = data.Titulo;
                var sender           = new EmailAddress("*****@*****.**", "Brian Torres");
                var contenidoMensaje = data.Contenido;

                var objMensaje = MailHelper.CreateSingleEmail(sender, destinatario, titulo, contenidoMensaje, contenidoMensaje);

                await sendGridCliente.SendEmailAsync(objMensaje);

                return(true, null);
            } catch (Exception ex) {
                return(false, ex.Message);
            }
        }
示例#5
0
        public async Task Handle(EmailEventQueue @event)
        {
            //_logger.LogInformation($"Este es el valor que consumo desde RabbitMQ {@event.Titulo}");
            var objData = new SendGridData();

            objData.Contenido          = @event.Contenido;
            objData.EmailDestinatario  = @event.Destinatanario;
            objData.NombreDestinatario = @event.Destinatanario;
            objData.Titulo             = @event.Titulo;
            objData.SendGridAPiKey     = _configuration["SendGrid:ApiKey"];

            var resultado = await _sendGridEnviar.EnviarEmail(objData);

            if (resultado.resultado)
            {
                await Task.CompletedTask;
                return;
            }
        }
示例#6
0
        public async Task Handle(EmailEventoQueue @event)
        {
            _logger.LogInformation(@event.Titulo);

            var objData = new SendGridData();

            objData.Contenido          = @event.Contenido;
            objData.EmailDestinatario  = @event.Destinatario;
            objData.NombreDestinatario = @event.Destinatario;
            objData.Titulo             = @event.Titulo;
            objData.SendGridAPIKey     = _configuration["SendGrid:ApiKey"];

            var resultado = await _sendGridEnviar.EnviarEmail(objData);

            if (resultado.resultado)
            {
                await Task.CompletedTask;
                return;
            }
        }
示例#7
0
        public async Task Handle(EventMailQueue @event)
        {
            _logger.LogInformation($"RabbitMQ{@event.Title}");
            SendGridData data = new SendGridData
            {
                Title          = @event.Title,
                To             = @event.To,
                Content        = @event.Content,
                ToName         = @event.To,
                SendGridAPIKey = _configuration["SendGrid:ApiKey"]
            };

            var result = await _sendGridService.SendMail(data);

            if (result.IsSuccess)
            {
                await Task.CompletedTask;
                return;
            }
        }
        public async Task Handle(EmailEventoQueue @event)
        {
            _logger.LogInformation($"el evento que se encontró es: {@event.Titulo}");
            var objData = new SendGridData()
            {
                Contenido          = @event.Contenido,
                Titulo             = @event.Titulo,
                EmailDestinatario  = @event.Destinatario,
                NombreDestinatario = @event.Destinatario,
                SendGridAPIKey     = _configuration["SendGrid:ApiKey"]
            };

            var result = await _sendGridEnviar.EnviarEmail(objData);

            if (result.resultado)
            {
                await Task.CompletedTask;
                return;
            }
        }
        public async Task <(bool IsSuccess, string ErrorMessage)> SendMail(SendGridData Data)
        {
            try
            {
                var sendGridClient = new SendGridClient(Data.SendGridAPIKey);
                var to             = new EmailAddress(Data.To, Data.ToName);
                var title          = Data.Title;
                var sender         = new EmailAddress("*****@*****.**", "Erick Fernandez");
                var content        = Data.Content;
                var objMessage     = MailHelper.CreateSingleEmail(sender, to, title, content, content);

                await sendGridClient.SendEmailAsync(objMessage);

                return(true, null);
            }
            catch (Exception e)
            {
                return(false, e.Message);
            }
        }
        public async Task Handle(EmailEventoQueue @event)
        {
            _logger.LogInformation($"Este es el valor que consumo desde rabbitMQ {@event.Titulo}");

            var data = new SendGridData()
            {
                Contenido          = @event.Contenido,
                EmailDestinatario  = @event.Destinatario,
                NombreDestinatario = @event.Destinatario,
                SendGridAPIKey     = _configuration["SendGrid:APIKey"],
                Titulo             = @event.Titulo
            };

            var resultado = await _sendGrid.EnviarEmail(data);

            if (resultado.resultado)
            {
                await Task.CompletedTask;
                return;
            }
        }
示例#11
0
        public async Task <(bool result, string errorMessage)> SendEmail(SendGridData data)
        {
            try
            {
                var sendGridClient = new SendGridClient(data.SendGridApiKey);
                var to             = new EmailAddress(data.EmailTo, data.NameTo);
                var subject        = data.Subject;
                var sender         = new EmailAddress("*****@*****.**", "RabbitMQ");;
                var content        = data.Content;

                var objMessage = MailHelper.CreateSingleEmail(sender, to, subject, content, content);

                var response = await sendGridClient.SendEmailAsync(objMessage);

                return(true, null);
            }
            catch (Exception e)
            {
                return(false, e.Message);
            }
        }