コード例 #1
0
        public bool SendEmailToParent(SendEmailToParent sendEmailToParentDto)
        {
            if (sendEmailToParentDto == null)
            {
                throw new ArgumentNullException($"Dto is null");
            }
            var teacher = _dbContext.Users.OfType <Teacher>().FirstOrDefault(x => x.Id == sendEmailToParentDto.SenderId);

            if (teacher == null || _userManager.IsInRoleAsync(teacher, "Teacher").Result == false)
            {
                throw new ArgumentNullException($"teacher  is null");
            }
            var student = _dbContext.Users.OfType <Student>().FirstOrDefault(x => x.Id == sendEmailToParentDto.StudentId);

            if (student == null || !_userManager.IsInRoleAsync(student, "Student").Result)
            {
                throw new ArgumentNullException($"student does not have permission");
            }

            SmtpClient smpt = new SmtpClient("smtp.gmail.com", 587);

            smpt.EnableSsl             = true;
            smpt.DeliveryMethod        = SmtpDeliveryMethod.Network;
            smpt.UseDefaultCredentials = false;
            smpt.Credentials           = new NetworkCredential(teacher.Email, "basket2009");
            MailMessage message = new MailMessage();

            message.To.Add(student.Parent.Email);
            message.From    = new MailAddress(teacher.Email);
            message.Subject = sendEmailToParentDto.Title;
            message.Body    = sendEmailToParentDto.Content;
            smpt.Send(message);

            return(true);
        }
コード例 #2
0
        public IActionResult SendEmailToParent(SendEmailToParent sendEmailToParentDto)
        {
            var teacher = _userManager.GetUserAsync(User).Result;

            sendEmailToParentDto.SenderId = teacher.Id;
            if (_teacherService.SendEmailToParent(sendEmailToParentDto))
            {
                return(RedirectToAction("Index", "Student"));
            }
            return(View("Error"));
        }