static void OnNewMessage(object sender, IdleMessageEventArgs e) { Console.WriteLine("A new message has been received. Message has UID: " + e.MessageUID); // Fetch the new message's headers and print the subject line MailMessage m = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); var fileIds = new List <int>(); if (string.IsNullOrEmpty(m.Headers["Auto-Submitted"]) && m.From.Address != ConfigurationManager.AppSettings["EmailUserName"]) //if it's not a autoresponder such as Undelivered Mail Returned to Sender { if (m.Body.Contains("-----TicketId")) { var list = new List <File>(); if (m.Attachments.Count > 0) { foreach (var attachment in m.Attachments) { list.Add(_fileService.SaveFile(attachment.Name, (MemoryStream)attachment.ContentStream)); } fileIds = list.Select(rec => rec.Id).ToList(); } var ticketIdMatch = Regex.Match(m.Body, @"[-]{5}TicketId: [\d]+[-]{5}").Value.Replace("-----", "").Replace("TicketId: ", ""); var ticketId = int.Parse(ticketIdMatch); var bodyInitialArray = m.Body.Split(new string[] { "\r\n\r\n" }, StringSplitOptions.RemoveEmptyEntries); var bodyFinalArray = new List <string>(); foreach (var element in bodyInitialArray) { if (element.Contains(ConfigurationManager.AppSettings["EmailUserName"])) { break; } bodyFinalArray.Add(element); } var reply = string.Join("\r\n", bodyFinalArray); _ticketService.UpdateTicketFromEmail(ticketId, reply, fileIds, _ticketUrlBase); } else { var list = new List <File>(); if (m.Attachments.Count > 0) { foreach (var attachment in m.Attachments) { list.Add(_fileService.SaveFile(attachment.Name, (MemoryStream)attachment.ContentStream)); } fileIds = list.Select(rec => rec.Id).ToList(); } _ticketService.CreateTicketFromEmail(m.From.Address, m.Body, m.Subject, fileIds, _ticketUrlBase); } } }
static void OnNewMessage(object sender, IdleMessageEventArgs e) { MessageBox.Show("New Message Received!", "Notification!"); message = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); f.Invoke((MethodInvoker) delegate { Email_Receive email = new Email_Receive(); email.Email = message.From.ToString(); email.Subject = message.Subject.ToString(); email.Message = message.Body; email.Datetime = (DateTime)message.Date(); email.Mailmessage = message; list_email.Add(email); }); f.ListView_Inbox.Items.Clear(); ListViewItem item = new ListViewItem(); item.Text = list_email[list_email.Count - 1].Email; item.SubItems.Add(list_email[list_email.Count - 1].Message); item.SubItems.Add(list_email[list_email.Count - 1].Datetime.ToString()); list_item.Add(item); for (int i = list_item.Count - 1; i >= 0; i--) { try { f.ListView_Inbox.Items.Add(list_item[i]); } catch (Exception) { } } }
static void OnNewMessage(object sender, IdleMessageEventArgs e) { clsMetodosBanco banco = new clsMetodosBanco(); GetSetEmail gse = new GetSetEmail(); DateTime dateTime = DateTime.Now; //MessageBox.Show("Nova mensagem recebida!"); Speaker.Speak("Você recebeu um novo email!"); MailMessage m = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); f.Invoke((MethodInvoker) delegate { gse.Remetente = Convert.ToString(m.From); gse.Titulo = m.Subject; gse.Conteudo = m.Body; gse.Hora = dateTime; gse.Data = dateTime; try { banco.CadastrarEmail(gse); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } f.rtxtReceive.AppendText("De: " + m.From + "\n" + "Titulo: " + m.Subject + "\n" + "Conteúdo:" + m.Body + "\n"); }); }
private void InternalClientOnIdleError(object sender, IdleMessageEventArgs idleMessageEventArgs) { if (NewMessageInternal != null) { NewMessageInternal(sender, new IdleMessageEventArgsWrapper(this)); } }
private void client_NewMessage(object sender, IdleMessageEventArgs e) { MailMessage message = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal, true, null); if (message.Subject.ToLower().Contains(mailMessages.SearchCriterion.ToLower()) || message.From.Address.ToLower().Contains(mailMessages.From.ToLower())) { this.Messages = message; this.notif.ShowBalloonTip(100, "New Email Receive", "Printing...", ToolTipIcon.Info); this.notif.Visible = true; message.IsBodyHtml = true; Stream contentStream = message.AlternateViews[0].ContentStream; byte[] bytes = new byte[contentStream.Length]; string str = Encoding.UTF8.GetString(bytes, 0, contentStream.Read(bytes, 0, bytes.Length)); this.wb.DocumentText = str; this.wb.Dock = DockStyle.Fill; if (this.InvokeRequired) { this.Invoke(new Action(() => { printToolStripMenuItem.Enabled = true; })); } else { printToolStripMenuItem.Enabled = true; } print(); } }
private void OnNewMessageReceived(object obj, IdleMessageEventArgs args) { var uids = new List <uint> { args.MessageUID }; _messageProcessingTasks.Add(Task.Factory.StartNew(() => { ProcessMessages(uids); })); }
private void OnNewMessage(object sender, IdleMessageEventArgs e) { Message = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); Console.WriteLine("NewMessage"); Console.WriteLine($"From:{Message.From}"); Console.WriteLine($"Subject:{Message.Subject}"); Console.WriteLine($"Body:{Message.Body}"); Console.WriteLine(); }
void OnNotifyMessage(object sender, IdleMessageEventArgs e) { var result = MessageBox.Show("New mail received!\nGo to All Mail to read it?", "Notification", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { activeButton(btnAll); loadMails("[Gmail]/All Mail"); } }
static void OnNewMessage(object sender, IdleMessageEventArgs e) { MessageBox.Show("New message recieved!"); MailMessage m = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); f.Invoke((MethodInvoker) delegate { f.textBox6.AppendText($"From: {m.From}\n Theme: {m.Subject}\n Message: {m.Body}\n"); }); }
// this gets called sometimes because the executed and reopt emails // come in at the same time and the executed portion never gets called private void grabLatestExecuted(IdleMessageEventArgs e) { uint u = e.MessageUID - 1; MailMessage mm = e.Client.GetMessage(u); Attachment attachment = mm.Attachments.First(); SavePlan(attachment, Properties.dropExDir); VescoLog.LogEvent(String.Format("Ex Attachment Name, {0}", attachment.Name)); e.Client.AddMessageFlags(e.MessageUID, null, MessageFlag.Seen); }
static void OnNewMessage(Object sender, IdleMessageEventArgs e) { MessageBox.Show("New Message received!"); MailMessage m = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); f.Invoke((MethodInvoker) delegate { f.txtReceive.AppendText("From: " + m.From + "\n" + "Subject: " + m.Subject + "\n" + "Body: " + m.Body + "\n"); }); }
static void client_NewMessage(object sender, IdleMessageEventArgs e) { msg = client.GetMessage(e.MessageUID, false); newMessageUint = e.MessageUID; Console.WriteLine("Got a new message, = " + msg.Subject + "--" + msg.Body); reconnectEvent.Set(); if (msg.From.Address == readMessagesFilterAccount) { newMessageSatisfiesCondition = true; } }
static void onNewMessage(object sender, IdleMessageEventArgs e) { MessageBox.Show("New Message receieved"); MailMessage mail = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); m.Invoke((MethodInvoker) delegate { m.textBox6.AppendText("From: " + mail.From + "\n" + "Subject: " + mail.Subject + "\n" + "Body:" + mail.Body + "\n"); }); }
static void OnNewMessage(object sender, IdleMessageEventArgs e) { MessageBox.Show("You have a new message"); var m = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); f.Invoke((MethodInvoker) delegate { f.receiveTextBox.AppendText("From: " + m.From + "\n" + "Subject: " + m.Subject + "\n" + "Body" + m.Body + "\n"); }); }
void Client_NewMessage(object sender, IdleMessageEventArgs e) { ImapClient client = sender as ImapClient; if (client == null) { return; } MailMessage message = client.GetMessage(e.MessageUID); if (NewMailReceived != null) { NewMailReceived(message); } }
static void OnNewMessage(object sender, IdleMessageEventArgs e) { MessageBox.Show("New message recieved"); SomeEmailPanel.newComing(); MailMessage Mmessage = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); SomeEmailPanel.Invoke((MethodInvoker) delegate { SomeEmailPanel.inboxPanel.AppendText("From: " + Mmessage.From + "\r\n" + "Subject: " + Mmessage.Subject + "\r\n" + "Body: " + Mmessage.Body + "\r\n" + "Attachment : " + Mmessage.Attachments + "\r\n"); }); }
private static void onNewMessage(object sender, IdleMessageEventArgs e, string incomingMailboxName) { COREobject core = COREobject.i; MailMessage mail = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal); IncomingEmail email = core.Context.IncomingEmail.SingleOrDefault(m => m.Name == incomingMailboxName); if (email != null && email.IncomingEmailRule.Count() > 0) { foreach (IncomingEmailRule rule in email.IncomingEmailRule) { bool result = EvaluateRule(rule, mail); if (result) { Block block = GetBlockWithWF(core.Context, rule.ApplicationId, rule.BlockName.RemoveDiacritics()); if (block != null) { core.Application = rule.Application; try { PersonaAppRole role = core.Context.AppRoles.FirstOrDefault(r => r.Name == "System" && r.ApplicationId == rule.ApplicationId); core.User = core.Context.Users.FirstOrDefault(u => u.Users_Roles.Any(r => r.RoleName == role.Name && r.ApplicationId == role.ApplicationId)); } catch (Exception) { } OmniusInfo.Log($"Začátek zpracování mailu: {email.Name} / Pravidlo {rule.Name} / Blok {rule.BlockName} / Button {rule.WorkflowName}", OmniusLogSource.Hermes, rule.Application, core.User); FormCollection fc = new FormCollection(new NameValueCollection() { { "MailFrom", mail.From.Address }, { "MailCC", string.Join(";", mail.CC.Select(cc => cc.Address).ToList()) }, { "MailSubject", mail.Subject }, { "MailBody", mail.Body }, }); var runResult = new Tapestry.Tapestry(core).run(block, rule.WorkflowName, -1, fc, 0); OmniusInfo.Log($"Konec zpraconání mailu: {email.Name} / Pravidlo {rule.Name} / Blok {rule.BlockName} / Button {rule.WorkflowName}", OmniusLogSource.Hermes, rule.Application, core.User); } } } } }
static void client_NewMessage(object sender, IdleMessageEventArgs e) { Console.WriteLine("Got a new message, uid = " + e.MessageUID); MailMessage mm = e.Client.GetMessage(e.MessageUID); Console.WriteLine("New emmail from <{0}>, subject <{1}>, attachments <{2}>", mm.From, mm.Subject, mm.Attachments.Count()); // if (mm.From.Equals(watchEmail) && mm.Subject.Contains(watchSubject)) if (mm.From.Address.Equals(toEmail, StringComparison.InvariantCultureIgnoreCase) && mm.Subject.Contains(testSubject)) { Console.WriteLine("Process Message"); e.Client.AddMessageFlags(e.MessageUID, null, MessageFlag.Seen); } else { Console.WriteLine("Don't Process Message"); e.Client.RemoveMessageFlags(e.MessageUID, null, MessageFlag.Seen); } }
private static void BuyClient_NewMessage1(object sender, IdleMessageEventArgs e) { try { MailMessage message = e.Client.GetMessage(e.MessageUID, FetchOptions.HeadersOnly); string EmailSender = message.From.User.ToString() + "@" + message.From.Host.ToString(); if (EmailSender == SettingsForm.Sender && message.Subject == SettingsForm.BuySignalTitle) { MyBinanceClass mbc = new MyBinanceClass(); EmailsInformation inf = new EmailsInformation(); inf.Date = DateTime.Now; inf.Subject = message.Subject; inf.Side = OrderSide.Buy; AllEmails.Add(inf); mbc.Buy(); } } catch (Exception ex) { AddError(ex); } }
private void client_NewMessage(object sender, IdleMessageEventArgs e) { }
private void client_NewMessage(object sender, IdleMessageEventArgs e) { MailMessage msg = client.GetMessage(e.MessageUID); DisplayMessage("Got a new message!" + " From: " + msg.From + " Subject: " + msg.Subject + " Priority: " + msg.Priority); }
private void client_NewMessage(object sender, IdleMessageEventArgs e) { VescoLog.LogEvent(String.Format("Got a new message, uid = " + e.MessageUID)); MailMessage mm = e.Client.GetMessage(e.MessageUID); VescoLog.LogEvent(String.Format("New email from <{0}>, subject <{1}>, attachments <{2}>", mm.From, mm.Subject, mm.Attachments.Count())); String[] distList = Properties.watchEmail.Split(','); //if ( // mm.From.Address.Equals(Properties.watchEmail, StringComparison.InvariantCultureIgnoreCase) || // mm.From.Address.Equals("*****@*****.**", StringComparison.InvariantCultureIgnoreCase) // ) //{ if (distList.Any(s => s.IndexOf(mm.From.Address, StringComparison.CurrentCultureIgnoreCase) > -1)) { if (mm.Subject.Contains(Properties.watchOptSubject)) { if (mm.Attachments.Count() > 0) { Attachment attachment = mm.Attachments.First(); SavePlan(attachment, Properties.dropOptDir); VescoLog.LogEvent(String.Format("Opt Attachment Name, {0}", attachment.Name)); e.Client.AddMessageFlags(e.MessageUID, null, MessageFlag.Seen); } } else if (mm.Subject.Contains(Properties.watchExSubject) || mm.Subject.Contains(Properties.watchReOptSubject)) { e.Client.RemoveMessageFlags(e.MessageUID, null, MessageFlag.Seen); // wait 5 seconds, sometimes the second message gets hung up. //System.Threading.Thread.Sleep(5000); // Get the Executed IEnumerable <uint> executedUid = e.Client.Search( SearchCondition.Subject(Properties.watchExSubject) .And(SearchCondition.Unseen()) ); // this should never happen because the executed is always supposed to come first // but if it does exit out and wait for the reOpt email to fire off the event if (executedUid.Count() == 0) { VescoLog.LogEvent("ReOpt Email got delivered first."); // reset the reOpt email message e.Client.RemoveMessageFlags(e.MessageUID, null, MessageFlag.Seen); } else { // Get the ReOpt IEnumerable <uint> reOptUid = e.Client.Search( SearchCondition.Subject(Properties.watchReOptSubject) .And(SearchCondition.Unseen()) ); // the reopt isn't there, yet so it will have if (reOptUid.Count() == 0) { VescoLog.LogEvent("Executed email is there but the reOpt isn't."); // reset the executed email message e.Client.RemoveMessageFlags(executedUid.First(), null, MessageFlag.Seen); } // Get both attachments from the mail messages and drop them in the watched directories else { MailMessage exMailMessage = e.Client.GetMessage(executedUid.First()); Attachment exAttach = exMailMessage.Attachments.First(); SavePlan(exAttach, Properties.dropExDir); VescoLog.LogEvent(String.Format("Ex Attachment Name, {0}", exAttach.Name)); hasExecutedRun = true; MailMessage reOptMailMessage = e.Client.GetMessage(reOptUid.First()); Attachment reOptAttachment = mm.Attachments.First(); SavePlan(reOptAttachment, Properties.dropReOptDir); VescoLog.LogEvent(String.Format("ReOpt Attachment Name, {0}", reOptAttachment.Name)); VescoLog.LogEvent("Number of Emails -> " + (executedUid.Count() + reOptUid.Count())); } } } else { VescoLog.LogEvent("Don't Process Message"); e.Client.RemoveMessageFlags(e.MessageUID, null, MessageFlag.Seen); } } else { VescoLog.LogEvent("Don't Process Message"); e.Client.RemoveMessageFlags(e.MessageUID, null, MessageFlag.Seen); } }
private void onNewMessage(object sender, IdleMessageEventArgs e) { this.receivedFlag = true; }
private void NewMail(object sender, IdleMessageEventArgs e) { arduino.Write("##1"); // On envoie "##1" à l'Ardunio }