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); }
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")); }