Beispiel #1
0
        public bool SendMail(MailSettingModel mail, UserViewModel user)
        {
            var settings = _uof.SettingsRepository.GetAll(r => r.IsActive && r.TenantId == user.Company.TenantId && r.CompanyId == user.CompanyId).ToList();

            if (settings != null)
            {
                if (settings.Any(r => r.Key == "SMTP_From") && !string.IsNullOrEmpty(settings.Find(r => r.Key == "SMTP_From").Value))
                {
                    mail.SMTP_From = settings.Find(r => r.Key == "SMTP_From")?.Value;
                }
                if (settings.Any(r => r.Key == "SMTP_Host") && !string.IsNullOrEmpty(settings.Find(r => r.Key == "SMTP_Host").Value))
                {
                    mail.SMTP_Host = settings.Find(r => r.Key == "SMTP_Host")?.Value;
                }
                if (settings.Any(r => r.Key == "SMTP_Port") && !string.IsNullOrEmpty(settings.Find(r => r.Key == "SMTP_Port").Value))
                {
                    mail.SMTP_Port = Int32.Parse(settings.Find(r => r.Key == "SMTP_Port").Value);
                }
                if (settings.Any(r => r.Key == "SMTP_Username") && !string.IsNullOrEmpty(settings.Find(r => r.Key == "SMTP_Username").Value))
                {
                    mail.SMTP_Username = settings.Find(r => r.Key == "SMTP_Username").Value;
                }
                if (settings.Any(r => r.Key == "SMTP_Password") && !string.IsNullOrEmpty(settings.Find(r => r.Key == "SMTP_Password").Value))
                {
                    mail.SMTP_Password = settings.Find(r => r.Key == "SMTP_Password").Value;
                }
            }

            return(EMailService.SendEmail(mail));
        }
Beispiel #2
0
        public Task SendEmailAsync(string email, string subject, string message)
        {
            try
            {
                MailSettingModel mailSetting = new MailSettingModel();
                SmtpClient       client      = new SmtpClient(mailSetting.Server)
                {
                    UseDefaultCredentials = false,
                    Port        = mailSetting.Port,
                    EnableSsl   = mailSetting.EnableSsl,
                    Credentials = new NetworkCredential(mailSetting.UserName, mailSetting.Password)
                };

                MailMessage mailMessage = new MailMessage
                {
                    From = new MailAddress(mailSetting.FromEmail, mailSetting.FromName),
                };

                mailMessage.To.Add(email);
                mailMessage.Body       = message;
                mailMessage.Subject    = subject;
                mailMessage.IsBodyHtml = true;
                client.Send(mailMessage);
            }
            catch (Exception ex)
            {
                // todo
            }
            return(Task.CompletedTask);
        }
Beispiel #3
0
        private bool?SendInfoMailForUser(User userEntity)
        {
            bool?result = null;

            try
            {
                StreamReader  sr           = new StreamReader(Directory.GetCurrentDirectory() + "\\wwwroot\\MailTemplate\\DynamicMail.html", System.Text.Encoding.GetEncoding("iso-8859-9"));
                StringBuilder builderTable = new StringBuilder();
                builderTable.Append("<table border='1' class=\"table\">");

                builderTable.Append("<thead>");
                builderTable.Append("<tr>");
                builderTable.Append("<th scope=\"col\">Kullanıcı Adı</th>");
                builderTable.Append("<th scope=\"col\">Şifre</th>");
                builderTable.Append("</tr>");
                builderTable.Append("</thead>");

                builderTable.Append("<tbody>");
                builderTable.Append("<tr>");
                builderTable.AppendFormat("<td>{0}</td>", userEntity.Username);
                builderTable.AppendFormat("<td>{0}</td>", userEntity.Password);
                builderTable.Append("</tr>");
                builderTable.Append("</tbody>");
                builderTable.Append("</table>");

                List <string> sentToMailAddress = new List <string>();
                sentToMailAddress.Add(userEntity.Email);

                string subject = "CMS - Kullanıcı Bilgileri";
                var    content = "Charter Yönetim Sistemine ait kullanıcı adınız ve parolanız belirlenmiştir, Linkten giriş yapabilirsiniz. <br/>";
                string body    = sr.ReadToEnd();

                body = body.Replace("{dear}", "Sayın " + userEntity.FirstName + " " + userEntity.LastName + ",");
                body = body.Replace("{content}", content);
                body = body.Replace("{contentTable}", builderTable.ToString());
                body = body.Replace("{gorunsunMU}", "block");
                body = body.Replace("{footer}", "Charter Managament System");

                var setting = _uof.SettingsRepository.Find(r => r.IsActive && r.Tenant.TenantId == userEntity.Company.Tenant.TenantId &&
                                                           r.CompanyId == userEntity.CompanyId && r.Key == "BaseUrl");

                body = body.Replace("{url}", (setting.Value + "#/login"));

                List <string> sendAddressList = new List <string>()
                {
                    userEntity.Email
                };

                MailSettingModel mail = new MailSettingModel()
                {
                    Subject = subject,
                    Body    = body,
                    To      = sendAddressList
                };

                result = base.SendMail(mail, _mapper.Map <UserViewModel>(userEntity));
            }
            catch (Exception ex)
            {
                return(false);
            }

            return(result);
        }