public ActionResult SendMessage(ContatoModel model)
        {
            if (String.IsNullOrWhiteSpace(model.Email))
            {
                return Json(new JsonRequestResult
                {
                    ResultType = JsonRequestResultType.Error,
                    Message = Resource.Msg_Geral_FormatoEmailInvalido
                }, JsonRequestBehavior.AllowGet);
            }
            String errorMessage;
            // Enviar email para o usuário em questão
            var result = Email.SendContact(model, out errorMessage);
            if (result)
            {
                return Json(new JsonRequestResult
                                {
                                    ResultType = JsonRequestResultType.Success,
                                    Message = Resource.Msg_EmailEnviadoSucesso,
                                    ReturnUrl = Url.Content("~/Contact/")
                                }, JsonRequestBehavior.AllowGet);
            }
            var jsResult = new JsonRequestResult
                               {
                                   ResultType = JsonRequestResultType.Error,
                                   Message = Resource.Msg_Geral_Erro
                               };

            return Json(jsResult, JsonRequestBehavior.AllowGet);
        }
Example #2
0
        private static String MountBodyEmailReturnToUser(ContatoModel model)
        {
            var bodyHTML = WebHelpers.ScreenScrapeHtml(HttpContext.Current.Server.MapPath(Settings.UrlTemplateContact));

            // Replace dos Textos Padrões
            bodyHTML = DefineResources(bodyHTML);

            bodyHTML = bodyHTML.Replace("[NOME]", model.Nome);
            bodyHTML = bodyHTML.Replace("[MENSAGEM]", Resource.Email_RetornoAoUsuario);
            bodyHTML = bodyHTML.Replace("[DATA]", DateTime.Now.ToString());
            bodyHTML = bodyHTML.Replace("[EMAILUSUARIO]", model.Email);
            bodyHTML = bodyHTML.Replace("[TELEFONEUSUARIO]", model.Telefone);

            return bodyHTML;
        }
Example #3
0
        /// <summary>
        /// Sends the email to user.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="errorMessage">The error message.</param>
        /// <returns></returns>
        private static Boolean SendEmailToUser(ContatoModel model, out String errorMessage)
        {
            var ret = false;
            try
            {
                // Envia para o Usuário um Retorno - Apenas para avisar o Cliente
                var bodyHTML = MountBodyEmailReturnToUser(model);

                // Envia primeiro para o Administrador (email Configurado no Settings.Config)
                ret = WebHelpers.SendMailWithImages(String.Empty,
                    Settings.TitleSite,
                    model.Email,
                    Resource.Email_ContatoRetornoAoUsuario,
                    bodyHTML,
                    CidLogo,
                    Logo,
                    null, // smtp.NetWork.Settings
                    out errorMessage);

                if (!ret)
                {
                    LogService.Log("Email.SendEmailToUser()", String.Format("{0} Email [{1}]", errorMessage, model.Email), Model.Enum.TipoLog.Erro);
                }
                else // Grava Log de Segurança
                {
                    LogService.Log(String.Format("Email.SendEmailToUser({0})", model.Email), Resource.Msg_Log_EmailEnviado, Model.Enum.TipoLog.Seguranca);
                }
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                LogService.Log("Email.SendEmailToUser()", ex);
                throw ex;
            }
            return ret;
        }
Example #4
0
        /// <summary>
        /// Mounts the body email to admin.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        private static String MountBodyEmailToAdmin(ContatoModel model)
        {
            var bodyHTML = WebHelpers.ScreenScrapeHtml(HttpContext.Current.Server.MapPath(Settings.UrlTemplateContactToAdmin));

            // Replace dos Textos Padrões
            bodyHTML = DefineResources(bodyHTML);

            bodyHTML = bodyHTML.Replace("[NOME]", "Administrador");
            bodyHTML = bodyHTML.Replace("[MENSAGEM]", model.Mensagem);
            bodyHTML = bodyHTML.Replace("[DATA]", DateTime.Now.ToString());
            bodyHTML = bodyHTML.Replace("[NOMEUSUARIO]", model.Nome);
            bodyHTML = bodyHTML.Replace("[EMAILUSUARIO]", model.Email);
            bodyHTML = bodyHTML.Replace("[TELEFONEUSUARIO]", model.Telefone);
            bodyHTML = bodyHTML.Replace("[COMOFICOUSABENDO]", model.ComoFicouSabendo);

            return bodyHTML;
        }
Example #5
0
 /// <summary>
 /// Método que envia um email para o Email Configurado no Setting.Config
 /// <para>
 /// -------------
 /// Também envia um retorno ao Usuário informando que sua mensagem foi recebida.
 /// -------------
 /// </para>
 /// </summary>
 /// <param name="model">The model.</param>
 /// <param name="errorMessage">The error message.</param>
 /// <returns></returns>
 public static Boolean SendContact(ContatoModel model, out String errorMessage)
 {
     var ret = false;
     try
     {
         var contatoModel = model;
         if (SendEmailToAdmin(contatoModel, out errorMessage))
         {
             SendEmailToUser(contatoModel, out errorMessage);
             ret = true;
         }
     }
     catch (Exception ex)
     {
         errorMessage = ex.Message;
         LogService.Log("Email.SendContact()", ex);
         throw ex;
     }
     return ret;
 }