public async Task <IActionResult> Edit(int id, [Bind("Id,Sender,Receiver,Subject,Message,DateTime")] MailBoxDto model) { if (id != model.Id) { return(NotFound()); } if (ModelState.IsValid) { var mailBox = _mapper.Map <MailBox>(model); var userid = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; mailBox.UserId = userid; mailBox.UpdatedAt = DateTime.Now; mailBox.DateTime = DateTime.Now; await _service.UpdateMailAsync(mailBox); await _emailSender.SendEmailAsync(mailBox.Receiver, mailBox.Subject, mailBox.Message); return(RedirectToAction(nameof(Index))); } return(View(model)); }
public static void Connect( this MailBoxDto mailBox, IImapClient client, CancellationTokenSource cancelToken) { client.Connect(mailBox.Server, mailBox.Port, MailKit.Security.SecureSocketOptions.Auto, cancelToken.Token); }
public void CreateNewClient(MailBoxDto mailBox) { _logger.LogDebug("Adding client for Mail Box {id} ...", mailBox.Id); var client = new MailBoxClient(_clientLogger, mailBox, _mapper); AddClient(client); }
public MailBoxClient( ILogger <MailBoxClient> logger, MailBoxDto mailBox, IMapper mapper) : base(logger) { _messages = new List <Email>(); _client = new ImapClient(); _mailBox = mailBox; _mapper = mapper; _cancel = new CancellationTokenSource(); }