Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 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);
        }
Esempio n. 4
0
        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();
        }