Exemplo n.º 1
0
        public bool SendUserEmail(MAILTYPE m, object model)
        {
            string mail = "";
            bool   res  = false;

            try{
                string subject = "", body = "";
                getMailContent(m, model, out subject, out body);
                var mailMessage = new MailMessage
                {
                    From       = new MailAddress(_config["emailSettings:fromAddress"]),
                    Subject    = subject,
                    Body       = body.ToString(),
                    IsBodyHtml = true
                };
                if (m.Equals(MAILTYPE.StaffCreated) || m.Equals(MAILTYPE.StaffEdited))
                {
                    var y = (Models.ViewModels.StaffForm)model;
                    mail = y.Email;
                    mailMessage.To.Add(y.Email);
                }
                else
                {
                    var x = (Models.ViewModels.StudentForm)model;
                    mail = x.Email;
                    mailMessage.To.Add(x.Email);
                }

                var smtpClient = new SmtpClient
                {
                    Credentials = new NetworkCredential(_config["emailSettings:fromAddress"], _config["emailSettings:fromPassword"]),
                    Host        = _config["emailSettings:host"],
                    Port        = 25
                };
                smtpClient.EnableSsl = Convert.ToBoolean(_config["emailSettings:ssl"]);
                _logger.LogInformation($"sending mail to {mail}, host-{smtpClient.Host}, port-{smtpClient.Port}");
                smtpClient.Send(mailMessage);
                res = true;
                return(res);
            }
            catch (Exception ex)
            {
                res = false;
                _logger.LogCritical($"Error sending mail: {ex.Message}");
                return(res);
            }
        }
Exemplo n.º 2
0
        private void getMailContent(MAILTYPE m, object model, out string subject, out string body)
        {
            subject = "";
            body    = "";
            StringBuilder sb = new StringBuilder();

            // string fname="",mname="",lname="";
            // if(u!=null){
            //     fname = u.FirstName;
            //     mname = u.MiddleName;
            //     lname = u.LastName;
            // }

            switch (m)
            {
            case MAILTYPE.StudentCreated:
                var x = (Models.ViewModels.StudentForm)model;
                subject = "You have been registered with our school";
                sb.Clear();
                if (x != null)
                {
                    sb.Append("Dear ");
                    sb.Append(x.FirstName);
                    sb.Append(" ");
                    sb.Append(String.IsNullOrEmpty(x.MiddleName)?"":x.MiddleName + " ");
                    sb.Append(x.LastName);
                    sb.Append(",<br>");
                }
                sb.Append("    ");
                sb.Append("You have been added to our school's database.<br>");
                if (x != null)
                {
                    sb.Append("The following are the details:");
                    sb.Append("<table center width=50% border=\"1\"><tr><td style=\"padding-left:23px\">");
                    sb.Append("First Name: </td><td style=\"padding-left:23px\">");
                    sb.Append(x.FirstName);
                    sb.Append("</td></tr>");
                    if (x.MiddleName != null)
                    {
                        sb.Append("<tr><td style=\"padding-left:23px\">Middle Name: </td><td style=\"padding-left:23px\">");
                        sb.Append(x.MiddleName);
                        sb.Append("</td></tr>");
                    }
                    sb.Append("<tr><td style=\"padding-left:23px\">Last Name: </td><td style=\"padding-left:23px\">");
                    sb.Append(x.LastName);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Date of birth: </td><td style=\"padding-left:23px\">");
                    sb.Append(x.DOB.ToString("dd-MM-yyyy"));
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Gender: </td><td style=\"padding-left:23px\">");
                    sb.Append(x.Gender);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Slab: </td><td style=\"padding-left:23px\">");
                    sb.Append(x.SlabName);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Class: </td><td style=\"padding-left:23px\">");
                    sb.Append(x.Grade);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Phone Number: </td><td style=\"padding-left:23px\">");
                    sb.Append(x.PhoneNumber);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Address: </td><td style=\"padding-left:23px\">");
                    sb.Append(x.Address1);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Mps Portal username: </td><td style=\"padding-left:23px\">");
                    sb.Append(x.UserName);
                    sb.Append("</td></tr>");
                    sb.Append("</table><br><br>");
                    sb.Append("Best regards,<br>");
                    sb.Append("Mysore Public School");
                }
                body = sb.ToString();

                break;

            case MAILTYPE.StudentEdited:
                var y = (Models.ViewModels.StudentForm)model;
                subject = "Your details have been updated";
                sb.Clear();
                if (y != null)
                {
                    sb.Append("Dear ");
                    sb.Append(y.FirstName);
                    sb.Append(" ");
                    sb.Append(String.IsNullOrEmpty(y.MiddleName)?"":y.MiddleName + " ");
                    sb.Append(y.LastName);
                    sb.Append(",<br>");
                }
                sb.Append("    ");
                sb.Append("Your details in our school's database have been updated<br>");
                if (y != null)
                {
                    sb.Append("The following are the details:");
                    sb.Append("<table center width=50% border=\"1\"><tr><td style=\"padding-left:23px\">");
                    sb.Append("First Name: </td><td style=\"padding-left:23px\">");
                    sb.Append(y.FirstName);
                    sb.Append("</td></tr>");
                    if (y.MiddleName != null)
                    {
                        sb.Append("<tr><td style=\"padding-left:23px\">Middle Name: </td><td style=\"padding-left:23px\">");
                        sb.Append(y.MiddleName);
                        sb.Append("</td></tr>");
                    }
                    sb.Append("<tr><td style=\"padding-left:23px\">Last Name: </td><td style=\"padding-left:23px\">");
                    sb.Append(y.LastName);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Date of birth: </td><td style=\"padding-left:23px\">");
                    sb.Append(y.DOB.ToString("dd-MM-yyyy"));
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Gender: </td><td style=\"padding-left:23px\">");
                    sb.Append(y.Gender);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Slab: </td><td style=\"padding-left:23px\">");
                    sb.Append(y.SlabName);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Class: </td><td style=\"padding-left:23px\">");
                    sb.Append(y.Grade);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Phone Number: </td><td style=\"padding-left:23px\">");
                    sb.Append(y.PhoneNumber);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Address: </td><td style=\"padding-left:23px\">");
                    sb.Append(y.Address1);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Mps Portal username: </td><td style=\"padding-left:23px\">");
                    sb.Append(y.UserName);
                    sb.Append("</td></tr>");
                    sb.Append("</table><br><br>");
                    sb.Append("Best regards,<br>");
                    sb.Append("Mysore Public School");
                }
                body = sb.ToString();
                break;

            case MAILTYPE.StaffCreated:
                var z = (Models.ViewModels.StaffForm)model;
                subject = "You have been registered with our school";
                sb.Clear();
                if (z != null)
                {
                    sb.Append("Dear ");
                    sb.Append(z.FirstName);
                    sb.Append(" ");
                    sb.Append(String.IsNullOrEmpty(z.MiddleName)?"":z.MiddleName + " ");
                    sb.Append(z.LastName);
                    sb.Append(",<br>");
                }
                sb.Append("    ");
                sb.Append("You have been added to our school's database.<br>");
                if (z != null)
                {
                    sb.Append("The following are the details:");
                    sb.Append("<table center width=50% border=\"1\"><tr><td style=\"padding-left:23px\">");
                    sb.Append("First Name: </td><td style=\"padding-left:23px\">");
                    sb.Append(z.FirstName);
                    sb.Append("</td></tr>");
                    if (z.MiddleName != null)
                    {
                        sb.Append("<tr><td style=\"padding-left:23px\">Middle Name: </td><td style=\"padding-left:23px\">");
                        sb.Append(z.FirstName);
                        sb.Append("</td></tr>");
                    }
                    sb.Append("<tr><td style=\"padding-left:23px\">Last Name: </td><td style=\"padding-left:23px\">");
                    sb.Append(z.LastName);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Date of birth: </td><td style=\"padding-left:23px\">");
                    sb.Append(z.DOB.ToString("dd-MM-yyyy"));
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Gender: </td><td style=\"padding-left:23px\">");
                    sb.Append(z.Gender);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Role: </td><td style=\"padding-left:23px\">");
                    sb.Append(z.staffrole);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Phone Number: </td><td style=\"padding-left:23px\">");
                    sb.Append(z.PhoneNumber);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Address: </td><td style=\"padding-left:23px\">");
                    sb.Append(z.Address1);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Mps Portal username: </td><td style=\"padding-left:23px\">");
                    sb.Append(z.UserName);
                    sb.Append("</td></tr>");
                    sb.Append("</table><br><br>");
                    sb.Append("Best regards,<br>");
                    sb.Append("Mysore Public School");
                }
                body = sb.ToString();
                break;

            case MAILTYPE.StaffEdited:
                var a = (Models.ViewModels.StaffForm)model;
                subject = "You details have been updated";
                sb.Clear();
                if (a != null)
                {
                    sb.Append("Dear ");
                    sb.Append(a.FirstName);
                    sb.Append(" ");
                    sb.Append(String.IsNullOrEmpty(a.MiddleName)?"":a.MiddleName + " ");
                    sb.Append(a.LastName);
                    sb.Append(",<br>");
                }
                sb.Append("    ");
                sb.Append("Your details in our school's database have been updated<br>");
                if (a != null)
                {
                    sb.Append("The following are the details:");
                    sb.Append("<table center width=50% border=\"1\"><tr><td style=\"padding-left:23px\">");
                    sb.Append("First Name: </td><td style=\"padding-left:23px\">");
                    sb.Append(a.FirstName);
                    sb.Append("</td></tr>");
                    if (a.MiddleName != null)
                    {
                        sb.Append("<tr><td style=\"padding-left:23px\">Middle Name: </td><td style=\"padding-left:23px\">");
                        sb.Append(a.FirstName);
                        sb.Append("</td></tr>");
                    }
                    sb.Append("<tr><td style=\"padding-left:23px\">Last Name: </td><td style=\"padding-left:23px\">");
                    sb.Append(a.LastName);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Date of birth: </td><td style=\"padding-left:23px\">");
                    sb.Append(a.DOB.ToString("dd-MM-yyyy"));
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Gender: </td><td style=\"padding-left:23px\">");
                    sb.Append(a.Gender);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Role: </td><td style=\"padding-left:23px\">");
                    sb.Append(a.staffrole);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Phone Number: </td><td style=\"padding-left:23px\">");
                    sb.Append(a.PhoneNumber);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Address: </td><td style=\"padding-left:23px\">");
                    sb.Append(a.Address1);
                    sb.Append("</td></tr>");
                    sb.Append("<tr><td style=\"padding-left:23px\">Mps Portal username: </td><td style=\"padding-left:23px\">");
                    sb.Append(a.UserName);
                    sb.Append("</td></tr>");
                    sb.Append("</table><br><br>");
                    sb.Append("Best regards,<br>");
                    sb.Append("Mysore Public School");
                }
                body = sb.ToString();
                break;
            }
        }