Exemple #1
0
        public ActionResult RecoverPassword(LoginModel model)
        {
            try
            {
                var user = _userService.RecoverPassword(model.Email);

                if (user != null)
                {
                    var modelEmail = new EmailMail
                    {
                        From = ConfigurationManager.AppSettings["EmailFrom"],
                        To   = new List <string> {
                            model.Email
                        },
                        Subject = "Password",
                        Body    = "test"
                    };

                    _emailMailService.SendEmail(modelEmail);
                    ShowMessageDialog("Email successfully sent", Message.MessageKind.Success);
                }
                else
                {
                    ShowMessageDialog("Email not found in database", Message.MessageKind.Warning);
                }
            }
            catch (Exception exception)
            {
                ShowMessageDialog("Something wrong happened when you tried to send email for password recover", exception);
            }

            return(RedirectToAction("Index"));
        }
Exemple #2
0
        public ActionResult Create(UserModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        if (_userService.Get(w => w.Email.Equals(model.Email)) != null)
                        {
                            ShowMessageDialog(MensagensResource.EmailExistente, Message.MessageKind.Warning);

                            model.ProfileDictionary   = _ProfileService.GetDictionary();
                            model.HierarchyDictionary = _hierarchyService.GetDictionary();

                            return(View(model));
                        }

                        model.Senha         = _userService.GetCodigoRecover();
                        model.CodigoRecover = _userService.GetCodigoRecover();

                        var entity = Mapper.Map <UserModel, User>(model);
                        _userService.Add(entity, CurrentUser.UserId);

                        var email = new EmailMail
                        {
                            From = ConfigurationManager.AppSettings["EmailFrom"],
                            To   = new List <string> {
                                model.Email
                            },
                            Subject = "New User",
                            Body    = "You are a new user of the system..."
                        };

                        _emailMailService.SendEmail(email);
                    }
                    catch (Exception e)
                    {
                        ShowMessageDialog(MensagensResource.SucessoCadastrarErroEmail, e);
                        return(RedirectToAction("Index"));
                    }

                    ShowMessageDialog(MensagensResource.SucessoCadastrarSucessoEmail, Message.MessageKind.Success);
                }
                else
                {
                    model.ProfileDictionary   = _ProfileService.GetDictionary();
                    model.HierarchyDictionary = _hierarchyService.GetDictionary();

                    return(View(model));
                }
            }
            catch (Exception e)
            {
                ShowMessageDialog(MensagensResource.ErroCadastrar, e);
            }

            return(RedirectToAction("Index"));
        }
Exemple #3
0
        public void SendEmail(EmailMail entity)
        {
            var mail = new MailMessage();

            var smtp = new SmtpClient(_smtpServer, _smtpPort)
            {
                Credentials = new NetworkCredential(_user, _password)
            };

            if (entity.ItemAttach != null && entity.ItemAttach.Any())
            {
                Stream fileAtt = new MemoryStream(entity.ItemAttach, true);
                var    att     = new Attachment(fileAtt, entity.AttachmentName)
                {
                    TransferEncoding = TransferEncoding.Base64
                };
                mail.Attachments.Add(att);
            }

            if (entity.UrlItemAttach != null)
            {
                foreach (var attachmentFilename in entity.UrlItemAttach)
                {
                    Attachment         attachment  = new Attachment(attachmentFilename, MediaTypeNames.Application.Octet);
                    ContentDisposition disposition = attachment.ContentDisposition;
                    disposition.CreationDate     = File.GetCreationTime(attachmentFilename);
                    disposition.ModificationDate = File.GetLastWriteTime(attachmentFilename);
                    disposition.ReadDate         = File.GetLastAccessTime(attachmentFilename);
                    disposition.FileName         = Path.GetFileName(attachmentFilename);
                    disposition.Size             = new FileInfo(attachmentFilename).Length;
                    disposition.DispositionType  = DispositionTypeNames.Attachment;
                    mail.Attachments.Add(attachment);
                }
            }

            mail.From = new MailAddress(_from);

            foreach (var emailTo in entity.To)
            {
                mail.To.Add(emailTo);
            }

            if (entity.IsBcc(entity))
            {
                foreach (var emailCc in entity.Cc)
                {
                    mail.CC.Add(emailCc);
                }
            }

            if (entity.IsCc(entity))
            {
                foreach (var emailCc in entity.Cc)
                {
                    mail.CC.Add(emailCc);
                }
            }

            mail.Priority = MailPriority.Normal;

            mail.IsBodyHtml = !entity.IsHtml.HasValue || entity.IsHtml.Value;

            mail.Subject = entity.Subject;

            mail.Body = entity.Body;

            //if (!string.IsNullOrEmpty(entity.SignatureImage))
            //{
            //    var linkedResource = new LinkedResource(entity.SignatureImage) { ContentId = "Imagem" };

            //    var alternateView = AlternateView.CreateAlternateViewFromString(entity.Body, null, MediaTypeNames.Text.Html);
            //    alternateView.LinkedResources.Add(linkedResource);

            //    mail.AlternateViews.Add(alternateView);
            //}

            mail.SubjectEncoding = Encoding.UTF8;

            mail.BodyEncoding = Encoding.UTF8;

            smtp.Send(mail);
        }