Пример #1
0
        private string PopulateBodyContato(ContactAgregation contactAgregation)
        {
            try
            {
                if (!string.IsNullOrEmpty(contactAgregation._path))
                {
                    using (_stream = new FileStream(contactAgregation._path, FileMode.Open, FileAccess.ReadWrite))
                    {
                        using (TextReader tx = new StreamReader(_stream, Encoding.ASCII))
                        {
                            _body = tx.ReadToEnd();

                            if (!string.IsNullOrEmpty(_body))
                            {
                                _body = _body.Replace("{UserName}", contactAgregation._name);
                                _body = _body.Replace("{Email}", contactAgregation._email);
                                _body = _body.Replace("{Phone}", contactAgregation._phone);
                                _body = _body.Replace("{Subject}", contactAgregation._subject);
                                _body = _body.Replace("{Message}", contactAgregation._body);
                            }
                        }
                    }
                }

                return(_body);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #2
0
 public async Task SendMail(ContactAgregation contato)
 {
     try
     {
         await _sendMail.SendHtmlFormattedMail(contato);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Пример #3
0
        public async Task SendHtmlRecoveredMail(ContactAgregation contact)
        {
            try
            {
                await Task.Run(() =>
                {
                    this.FullFill();

                    using (var _mailMessage = new MailMessage())
                    {
                        _mailMessage.From = new MailAddress(_from, _name, Encoding.UTF8);
                        _mailMessage.To.Add(contact._to);
                        _mailMessage.Subject         = contact._subject;
                        _mailMessage.SubjectEncoding = Encoding.UTF8;
                        _mailMessage.IsBodyHtml      = true;
                        _mailMessage.BodyEncoding    = Encoding.UTF8;
                        _mailMessage.Body            = this.PopulateBodyRecoveryMail(contact);
                        _mailMessage.Priority        = MailPriority.Normal;


                        Func <string, string, NetworkCredential> netWorkCredential = delegate(string login, string senha)
                        {
                            return(new NetworkCredential(login, senha));
                        };

                        using (var smtp = new SmtpClient(_host, _port))
                        {
                            try
                            {
                                smtp.Credentials           = netWorkCredential(_login, _password);
                                smtp.UseDefaultCredentials = false;
                                smtp.EnableSsl             = _ssl;
                                smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
                                smtp.SendMailAsync(_mailMessage);
                            }
                            catch (SmtpException e)
                            {
                                new FaultException("SmtpClient", e);
                            }
                        }
                    }
                });
            }
            catch (Exception e)
            {
                new FaultException("SendHtmlRecoveredMail", e);
            }
        }
 public async Task SendMail(ContactAgregation contato)
 {
     try
     {
         if (contato == null)
         {
             throw new ApplicationException("Contato é nulo");
         }
         else
         {
             await _contatoService.SendMail(contato);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }